---恢复内容开始---java
在Spring IOC模块中Bean是很是重要的。在这里我想给你们讲讲关于Bean对象实例化的三种注入方式:spring
首先,我先讲一下关于Bean对象属性值的两种注入方式:set注入 和 构造注入函数
constructor-arg:经过构造函数注入。
property:经过setter对应的方法注入。测试
那么什么是注入:在Spring中对Bean属性赋值的过程咱们称之为依赖注入spa
set注入是经过对象的set方法为对象属性赋值,构造注入是经过bean对象的构造方法为属性注入值.code
set注入:经过封装类的属性,利用get和set方法调用属性,配置会先调用bean对象的无参构造函数构建对象,而后经过set方法为属性赋值。对象
在 Spring 配置文件中,用户能够经过 Bean 的属性 property 进行参数注入blog
这里设置userDao属性, ref表示引用,此时须要一个userDao的bean
get
<property name=
"userDao"
ref=
"userDao"
/>
构造注入:string
固然假如对象提供了对应的构造方法也能够经过指定构造方法为属性注入值
实际项目中也能够构造注入和set注入混合使用。
注意:
依赖注入时能够将配置信息提取到properties文件中,而后经过spring表达式#{id.key}的方式提取数据。
能够在XML中添加
<util:properties id="cfg" location="classpath:configs.properties"/>
那么在Bean中能够:
其中#为spring表达式特殊标记,{}为表达式内容,cfg为util:properties 标签中定义的id. jdbcUser、jdbcPassword为配置文件等号左边的key
集合对象的注入:
在属性值集合的时候,在Bean配置文件中注入:
最后就是测试了
依赖对象值注入:
存在不少个Bean对象,这些对象之间会存在必定依赖关系,当某个Bean对象依赖于其它Bean对象,能够经过spring按照必定的规则(例如按类型或者按名字),进行依赖查找而后进行值的注入
这个注入因为时间关系就没有写了,你们能够去网上找一下
---恢复内容结束---