_Spring技术setter注入
- 思考:像一个类中传递数据的方式有几种?
- 普通方法(set方法)
- 构造方法
- 思考:依赖注入描述了在容器中建立bean与bean之间的联系关系,如果bean运行需要的是数字或是字符串呢?
- 引用类型
- 简单类型(基本数据类型与String)
- 依赖注入方式
- setter注入
- 简单类型
- 引用类型
- 构造器注入
- 简单类型
- 引用类型
- setter注入
_Spring技术依赖注入—setter多条件注入(引用类型)
-
在service包中配置BookPaperService接口及其实现类:
-
在applicationContext.xml文件中配置bookPaperService的bean,并且注明bookDao和paperDao的property关系属性:
-
在test文件中编写java程序执行需求:
-
package AppTest; import com.Alvis.service.impl.BookPaperServiceImpl; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App_03 { public static void main(String[] args) { // 加载配置文件 ClassPathXmlApplicationContext cpx = new ClassPathXmlApplicationContext("applicationContext.xml"); cpx.registerShutdownHook(); // 完毕后结束bean的生命周期 BookPaperServiceImpl bookPaperService = (BookPaperServiceImpl) cpx.getBean("bookPaperService"); bookPaperService.run(); } } ======================================= 实现类已运行 init 已执行 bean 生命周期开启 this is BookService... this is BookDao ... this is PaperDao... bean 的生命周期已销毁 destory 已执行 进程已结束,退出代码0
-
-
_Spring技术依赖注入–setter注入(简单类型)
-
在实现类中写明一下几个要素:
-
配置好属性变量后设置其对应的setter方法
-
配置bean的生命周期
-
具体的代码为:
-
package com.Alvis.service.impl; import com.Alvis.service.SimpleService; public class SimpleServiceImpl implements SimpleService { private String sign; private String name; // 给两个属性类型配置set方法 public void setSign(String sign) { this.sign = sign; } public void setName(String name) { this.name = name; } // 配置bean开始生命周期的方法 public void init() { System.out.println("bean 生命周期开始"); } // 配置销毁bean生命周期的方法 public void destory() { System.out.println("bean 生命周期已销毁"); } @Override public void run() { System.out.println("this is SimpleService..."); this.sign = sign; this.name = name; System.out.println("sign: " + sign + "\n"+"name: " + name); } }
-
-
-
在applicationContext.xml文件中配置bean属性
-
在test文件中编写java程序实现setter注入的简单调用:
-
package AppTest; import com.Alvis.service.SimpleService; import com.Alvis.service.impl.SimpleServiceImpl; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App_04 { public static void main(String[] args) { // 获取配置文件 ClassPathXmlApplicationContext cpx = new ClassPathXmlApplicationContext("applicationContext.xml"); SimpleService simpleService = (SimpleServiceImpl) cpx.getBean("simpleService"); simpleService.run(); } } =========================================== 实现类已运行 init 已执行 bean 生命周期开启 bean 生命周期开始 this is SimpleService... sign: *** name: ***** 进程已结束,退出代码0