Spring学习笔记(3)——Bean的注入方式
2016-01-14 17:34
453 查看
依赖注入
依赖注入支持属性注入、构造函数注入、工厂注入。
属性注入:
属性注入即通过setXxx()方法注入Bean的属性值或依赖对象
属性注入要求Bean提供一个默认的构造函数(无参构造函数),并为需要注入的属性提供对应的Setter方法
过程:Spring先调用Bean的默认构造函数实例化Bean对象,然后通过反射的方式调用Setter方法注入属性值
配置方法:
Bean的每一个属性对应<bean>中的每一个<property>,name为属性的名称,在Bean实现类中拥有与对应的Setter方法。(注意:Spring只会检查Bean中是否有对应的Setter方法,至于Bean中是否有对应的属性变量则不做要求)
构造函数注入:
构造函数注入能保证一些必要的属性在Bean实例化时就得到设置,保证Bean在实例化后就可使用。如果使用属性注入只能人为在配置时提供保证而无法在语法级提供保证,构造函数注入就可以很好地满足这一要求。
要求:Bean必须提供带参的构造函数
配置方法:
工厂方法注入:
<!--迟点补充-->
依赖注入支持属性注入、构造函数注入、工厂注入。
属性注入:
属性注入即通过setXxx()方法注入Bean的属性值或依赖对象
属性注入要求Bean提供一个默认的构造函数(无参构造函数),并为需要注入的属性提供对应的Setter方法
过程:Spring先调用Bean的默认构造函数实例化Bean对象,然后通过反射的方式调用Setter方法注入属性值
配置方法:
<bean id="bigbean" class="com.me.Bigbean"> <property name="age"><value>25</value></property> </bean>
Bean的每一个属性对应<bean>中的每一个<property>,name为属性的名称,在Bean实现类中拥有与对应的Setter方法。(注意:Spring只会检查Bean中是否有对应的Setter方法,至于Bean中是否有对应的属性变量则不做要求)
构造函数注入:
构造函数注入能保证一些必要的属性在Bean实例化时就得到设置,保证Bean在实例化后就可使用。如果使用属性注入只能人为在配置时提供保证而无法在语法级提供保证,构造函数注入就可以很好地满足这一要求。
要求:Bean必须提供带参的构造函数
配置方法:
<bean id="bigbean" class="com.me.Bigbean"> <constructor-arg index="0" type="int"> <value>25</value> </constructor-arg> </bean>
工厂方法注入:
<!--迟点补充-->
相关文章推荐
- Spring学习笔记(2)——Bean的配置
- eclipse 设置打开java文件代码自动折叠
- java对文档等、附件在线预览的详细开发步骤解析:openOffice+SwfTools+FlexPaper
- java web 项目中 简单定时器实现 Timer
- 【第十章】集成其它Web框架 之 10.3 集成Struts2.x ——跟我学spring3
- java中的 泛型类、泛型方法、泛型接口
- 《JAVA与模式》之模板方法模式
- @PathVariable-------springMVC
- spring初始化refresh()方法中obtainFreshBeanFactory()源码走读。
- NDK JNI 笔记
- java中“==”、equals和hashCode的区别
- Java 的数值是怎么存储的
- 【第十章】集成其它Web框架 之 10.2 集成Struts1.x ——跟我学spring3
- java 添加水印文字和图片
- Cannot use the diamond generic notation when running in JDK inferior to 1.7 mode
- Eclipse 保存文件时自动格式化代码
- java学习个人笔记---内存管理小技巧(编程序习惯)
- Java异常处理和设计
- JAVA实现邮箱验证
- JDK环境变量设置