依赖:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1..RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1..RELEASE</version>
</dependency>

学生案例一:

package cn. spring. entity;
/**
* Bean
*/
public class StudentBean {
//普通属性
private Integer stu_ id;
private String stu_ name;|
//方法
public void say(){
System. out. print1n("大家好,本人编号: "+stu_ id+"\t名字: "+stu_ name);
public Integer getStu_ id() {
return stu_ _id;
}
public void setStu_ id(Integer stu_ id) {
this.stu_ id = stu_ _id;
}
public class SpringIOC {
@Test
public void iocTest(){
//步骤一:加载配置文件applicationContext. xmL
ApplicationContext ctx=new ClassPathXm1ApplicationContext( configLocation: " applicationContext . xm1");
//步骤二:获取bean
StudentBean bean=(StudentBean) ctx. getBean( s: "studentBean");
bean.say();
}

教师案例二:

< ?xml version="1. 0" encoding="UTF-8"?>
<beans xmIns= "http://www. springfr amework . org/ schema/beans "
xmlns :xsi= "http:/ /WwW . w3. org/ 2001/ XMLSchema- instance'
xsi : schemaLocation="http:/ /wwW . springframework . org/ schema/ beans
http: //www . springframework . org/ schema/beans/spring- beans . xsd">

<!--注入bean .
id相当于当前bean唯一标识
class是bean的全路径
property注入bean中的属性
必须封装
--> <bean id="teacherBean
class="cn. spring . entity.TeacherBean">
property name="t_ _id" value= "" ></ property>
<property name="t_ name" value=" 刘磊" ></property>
</bean>
</beans>
* Bean
public class StudentBean {
//普通属性
private Integer stu_ id;
private String stu_ name;
//域属性
private TeacherBean teacherBean;
public TeacherBean getTeacherBean() {
return teacherBean ; ,
public void setTeacherBean(TeacherBean teacherBean) {
this . teacherBean = teacherBean;
|}

打印机案例三:

/*
Ink 墨盒接口
*/
public interface Ink {
//获取墨盒颜色
public String getInk();
} /
**
*彩色墨盒实现类
*/
public class ColorInk implements Ink{
@Override
public String getInk() {
return "彩色";
} /**
*黑白墨盒实现类
*/
public class GrayInk implements Ink{
public String getInk() {
return” 黑白";
} /**
*纸张接口
/
public interface Paper {
//获取纸张大小
public String getPaper();|
} /**
* A4实现类.
*/
public class A4Paper implements Paper{
public String getPaper() {
return "A4";
}
} /**
*B5实现类
*/
public class B5Paper implements Paper{
public String getPaper(){
retuen "B5";
}
} /**
*打印机类
*/
public class Printer {
//纸张对象
private Paper paper;
//墨盒对象
private Ink ink;
//打印方法
public void print(){
System. out . print1n("您正在使用: "+paper . getPaper( )+"纸张和"
}
public Paper getPaper() {
} <!--注入彩色墨盒
Bean的注入都是实现类-->
<bean id="colorInk" class="cn. spring。print. ink. ColorInk"></bean>
<bean id="grayInk" class="cn. spring. print . ink . GrayInk"></bean>
<!--注入纸张-->
<bean id="a4Paper" class="cn. spring . print.paper.A4Paper"></bean>
bean id="b5Paper" class="cn. spring. print. paper. B5Paper"></bean>
<!--打印机-->
<bean id="printer" class="cn. spring. print. printer . Printer">|
<!--将纸张和墨盒组合起来-->
property name="paper" ref= "b5Paper"></property>
<property name="ink" ref=" grayInk" ></ property>
</bean> public class PrinterTest {
public static void main(String[] args) {
//步骤- :加载配置文件
ApplicationContext context=new ClassPathXmlApplicationContext( configLocation: " applicationContext . xml");
//调用bean
Printer printer = (Printer) context. getBean( s: "printer");
printer . print();|
}

Spring框架

Spring是最受欢迎的轻量级的企业级Java应用程序开发框架;Spring框架的 核心特性可以用于开发任何Java应用程序,但是在JavaEE平台上构建Web应 用程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通 过启用基于POJO编程模型来促进良好的编程实践
Spring核心概念

I控制反转IoC:

Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

依赖注入DI:

DI—Dependency Injection,即“依赖注入”:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。

Spring框架加案例的更多相关文章

  1. spring框架加载完成后执行上下文刷新事件(ContextRefreshedEvent)

    目前spring框架是j2ee比较常用的项目开发技术,只需在web.xml文件中进行少许配置即可,代码如下所示:<!--spring的配置文件--><context-param> ...

  2. 1.Spring框架入门案例

    一.简单入门案例 入门案例:IoC 1.项目创建与结构 2.接口与实现类 User.java接口 package com.jd.ioc; /** * @author weihu * @date 201 ...

  3. SSM之Spring框架--->>墨盒案例

    分析: 程序中包括打印机(Printer).墨盒(Ink).和纸张(Paper).三类组件 首先创建一个新项目文件Spring_Box 我们来定义墨盒和纸张的接口类 墨盒接口Ink.java文件内容如 ...

  4. Spring框架学习之第2节

    传统的方法和使用spring的方法 使用spring,没有new对象,我们把创建对象的任务交给了spring的框架,通过配置用时get一下就行. 项目结构 applicationContext.xml ...

  5. Spring框架学习之第1节

    spring快速入门 ①   spring是什么? Struts是web框架(jsp/action/actionform) hibernate是orm框架(对象和关系映射框架),处于持久层 sprin ...

  6. Spring 框架 详解 (二)

    Spring的入门的程序: 1.1.1 下载Spring的开发包: spring-framework-3.2.0.RELEASE-dist.zip ---Spring开发包 * docs :sprin ...

  7. 极简SpringBoot指南-Chapter01-如何用Spring框架声明Bean

    仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...

  8. spring框架学习笔记7:事务管理及案例

    Spring提供了一套管理项目中的事务的机制 以前写过一篇简单的介绍事务的随笔:http://www.cnblogs.com/xuyiqing/p/8430214.html 还有一篇Hibernate ...

  9. Spring 框架基础(03):核心思想 IOC 说明,案例演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.IOC控制反转 1.IOC容器思想 Java系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...

随机推荐

  1. Shell之监控cpu、内存、磁盘脚本

    #!/bin/bash #获取内存情况 mem_total=`free | awk 'NR==2{print $2}'` #获取内存总大小 mem_use=`free | awk 'NR==2{pri ...

  2. Hibernate配置流程

    操作数据库必须要设置数据库的连接属性: driver_class,url,username,password(hibernate.cfg.xml)     2. 编写对象跟表之间的映射关系(类名.hb ...

  3. Linux 服务器修改时间与时间同步

    设置时间 date --set '2015-11-23 0:10:40' # 方法一,通用 timedatectl set-time '2015-11-23 08:10:40' # 容器内可能不支持 ...

  4. Appium无线连接安卓终端方法 + ADB Shell常用命令(持续更新)

    ADB无线连接手机的方法1)手机与PC有线相连 - 检查是否连接正常: adb devices - 执行以下命令:adb tcpip 5555 # 当前9001       - 成功提示:restar ...

  5. 音量调节条-封装通用的ProgressBar组件

    import React, { Component } from 'react' import PropTypes from 'prop-types' import assign from 'obje ...

  6. React Hooks中父组件中调用子组件方法

    React Hooks中父组件中调用子组件方法 使用到的hooks-- useImperativeHandle,useRef /* child子组件 */ // https://reactjs.org ...

  7. 理解javascript中的立即执行函数(function(){})()(转)

    原文:https://www.cnblogs.com/yanzp/p/6371292.html

  8. Spring Cloud Alibaba学习笔记(11) - RocketMQ事务消息

    在Spring中,我们要实现事务,一般通过@Transactional注解实现.这在引入RocketMQ之前没有问题,但是在引入了RocketMQ之后,如果消息发送之后的业务逻辑处理发生了异常的话,这 ...

  9. ReLU函数的缺陷

    ReLU激活功能并不完美. 它有一个被称为 “ReLU 死区” 的问题:在训练过程中,一些神经元会“死亡”,即它们停止输出 0 以外的任何东西.在某些情况下,你可能会发现你网络的一半神经元已经死亡,特 ...

  10. 两通道实信号使用一个FFT同时计算算法

    前言 在工程的实际应用场景中,往往是需要最省资源量.而DSP资源和BRAM资源对FPGA来说弥足珍贵. 对于同时存在多个通道的实信号需要做FFT而言,常规做法是每个通道用一个FFT IP,FFT IP ...