第六章 IoC和AOP使用扩展
多种方式实现依赖注入
构造注入
一个元素表示构造方法的一个参数,且使用时不区分顺序。当构造方法的参数出现混淆,无法区分时,可以通过元素的index属性指定该参数的位置索引,位置从0开始。元素提供了type属性用来指定参数的类型,避免字符串和基本数据类型的混淆。
构造注入的时效性好,在对象实例化时就得到所依赖的对象,便于在对象的初始化方法中使用依赖对象;但受限于方法重载的形式,使用灵活性不足。并且大量的setter访问器增加了类的复杂性。Spring并不倾向于某种注入方式,用户应该根据实际情况进行合理的选择。当然Spring提供的注入方式不只这两种,只是这两种方式用得最普遍,有兴趣的学员可通过Spring的开发手册了解其他注入方式。
使用P命名空间实现属性注入
语法 p:属性名=“属性值”
p:属性名-ref=“Bean的id”
注入不同数据类型
1、注入直接量(基本数据类型)
如果属性值包含了XML中的特殊字符(&,<,>,",’),则注入时需要进行处理,
2、引用其他Bean组件
Spring中定义的Bean可以互相引用,从而建立依赖关系,除了使用ref属性,还可以通过子元素实现。property
3、使用内部Bean
在引用了property中在嵌套bean,该方式就是内部bean。
4、注入集合类型的属性
对于List或数组类型的属性,可以使用标签注入。标签中间可以使用、等标签注入集合元素,甚至是另一个标签。对于Set类型的属性,可以使用标签注入。
5、注入null和空字符串值
可以使用注入空字符串值,