管理Bean
spring的bean容器到底是什么呢?
从表面上看就是一个类+一个xml文档,就是ApplicatonContext这个类和spring的配置文件beans.xml。我们经常就是写下面这样的语句
Bean 自动装配的5种模式
① 使用buName模式
<bean id="HelloWorld" class="com.imau.HelloWorld" autowire="byName">
② 使用constructor模式
<bean id="HelloWorld" class="com.imau.HelloWorld" autowire="constructor">
③ 使用no模式
<bean id="HelloWorld" class="com.imau.HelloWorld" autowire="no">
④ 使用byType模式
<bean id="HelloWorld" class="com.imau.HelloWorld" autowire="byType">
⑤ 使用autodetect模式
autodetect 模式指的是通过对Bean检查内部类来选择constructor或byType,如果先找到constructor就用constructor;如果没有constructor,而找到byType,就用byType。
<bean id="HelloWorld" class="com.imau.HelloWorld" autowire="autodetect">
Bean依赖检查的4种模式
在自动装配中,因为是隐式的,不像前面通过ref的属性指定依赖那么直接,所以开发人员很难看出Bean的每个属性是否都设定完成,这时就要借助依赖检查来实现查看Bean的每个属性是否都设定完成的功能。
① 使用simple模式
simple 模式指的是对基本类型,字符串和集合进行依赖检查。
<bean id="HelloWorld" class="com.imau.HelloWorld" dependency-check="simple">
② 使用object模式
object模式指的是对依赖的对象进行依赖检查。
③ 使用all模式
all模式指的是对全部属性进行依赖检查
④ 使用none模式
none模式指的是不进行依赖检查
总结:一般情况下,依赖检查和自动装配结合使用,当开发人员想查看Bean的每个属性是否都设定完成的时候,依赖检查的作用显得更大,当依赖检查和自动装配结合使用时,依赖检查会在自动装配完成后发生。但Bean的属性都有默认的值,或者不需要对Bean的属性是否都被设置到Bean上检查时,依赖检查的作用就不是很大。