Spring依赖注入

来源:互联网 发布:哈奇森效应 知乎 编辑:程序博客网 时间:2024/06/05 18:51

null值

<property  name="brand"> <null/><property>

必须使用专业的<null/>元素标签



在bean的配置中  bean标签中一般声明为 abstract=“true”,表示这个<bean>不实例化为一个对应的Bean。


对于大型应用来说,为了防止开发时配置文件的资源竞争,或为了使模块便于拆卸,往往每个模块都拥有自己独立的配置文件,应用层面提供一个整合的配置文件,通过

<import>将各个模块整合起来,这样容器启动时,只需要关注这个整合文件就可以了



有属性注入,构造函数注入  工厂注入  

常用的属性注入:


构造方法注入的优点:

1.构造函数可以保证一些重要的属性在Bean实例化时就设置好,避免了因为一些重要属性没有提供,导致一个无用Bean实例的情况。

2、不需要为每个属性提供Setter方法,减少了类的方法个数。

3、可以更好地封装类变量,不需要为每个属性指定Setter方法,避免外部错误的调用。


缺点:

1、如果一个类的属性众多,构造函数的签名将变成一个庞然大物,可读性差

2、灵活性不强,在有些属性可选的情况下,如果通过构造函数注入,也需要为可选参数提供一个null值

3、如果有多个构造函数,需要考虑配置文件和具体构造函数匹配歧义的问题,配置上相对复杂;

4,构造函数不利于继承和扩展,因为子类需要引用到父类复杂的构造函数

5、构造函数注入有时会造成循环 依赖问题。





0 0