Spring的依赖注入分为两种,分别是基于XML的DI和基于注解的DI。
1 基于XML的DI
对于基于XML的DI分为两种注入方式,一种是set注入,另一种是构造注入。
set注入和构造注入都能注入基本数据类型和引用类型的属性,
对于引用类型属性的注入可以通过byName和byType方式自动注入。
1.1 set注入
1)在bean类里面定义setter方法
2) 通过在spring配置文件里面的property标签完成注入
基本类型通过value属性注入,引用类型通过ref属性注入。
3)测试
1.2 构造注入
1)定义构造方法
2)通过使用constructor-arg标签完成注册
基本数据类型同样使用value,引用类型属性使用ref。
3)测试
2 基于注解的DI
对于基于注解的DI,需要声明组件扫描器<context:component-scan />,用于扫描并解析注解,对于基本属性的注入可以使用@Value注解,对于引用属性可以使用@Autowired和@Resource注解。
- @Value注解的使用
2)@Autowired注解的使用
对于@Autowired注解,默认是按类型自动装配,可以通过@Qualifier注解进行按名称自动装配
@Autowired和@Qualifier搭配使用
3)@Resource注解的使用
默认是按名称自动装配
如果按名称不能成功注入bean时,则按类型注入。