在Spring的IOC容器里配置bean
set注入:最流行的DI类型,容器通过组建里的setter方法进行注入,
优点:setter方法可以自动生成,简单
缺点:忘记给组件注入,第一次注入后,依赖可能会因为set方法的调用而被修改
通过构造器注入
优点:解决了setter方法注入的缺点
缺点:通过参数位置来确定参数,若组件有多个依赖需要注入,会导致构造器的参数列表非常冗长
为什么要进行依赖检查
比如在IOC容器中一个bean中有多个属性和值,通过property和value的方式进行注入,有时可能忘记注入,导致报空指针异常
如何进行依赖检查
依赖检查的三种方式(依赖性检查只是检查setter方法是否被注入了)
1 none 没有依赖检查,如果bean的属性没有值的话可以不用去设置
2 simple 对于原来类型和检查,执行依赖检查
3.object 仅对协作者执行依赖检查
4 all 对协作者,原始类型及集合执行依赖检查
Spring的依赖性检查只能检查属性是否被设置,但对设置的属性的值是否为空的情况则无能为力
属性使用应用型的变量时用ref进行引用
===================================================================