本文内容主要介绍了Bean的自动装配、基于注解的配置和基于Java类的配置对XML配置的简化。
自动装配Bean的属性
当Spring装配Bean的属性时,如果非常明确,则可以使用自动装配模式:
自动装配类型
手动:使用ref装配 策略:
- byName 假设属性的名字和bean的名字相同
<bean id="customer" class="xxx" autowire="byName"/> <bean id="persion" class="xxx."/>
- byType 只允许存在一个bean符合类型相同
可以设置primary,默认true<bean id="customer" class="xxx" autowire="byType"/> <bean id="persion" class="xxx."/>
忽略某些候选类<bean id="customer" class="xxx" autowire="byType"/> <bean id="persion" class="xxx." primary="false"/>
<bean id="customer" class="xxx" autowire="byType"/> <bean id="persion" class="xxx." autowire-candidate="false"/>
- constructor 构造器注入,匹配构造器的入参类型:
<bean id="customer" class="xxx" autowire="constructor"/> <bean id="persion" class="xxx." />
- autodetect 最佳自动装配,首先尝试使用constructor,然后是byType
<bean id="customer" class="xxx" autowire="autodetect"/> <bean id="persion" class="xxx." />
默认自动装配
在根元素上配置default-autowire类型
<beans default-autowire="byType">
混合装配
可以显式装配和自动装配同时使用
基于注解的配置
注解配置示例
@Component是Spring容器中的基本注解,表示容器中的组件(bean),可以作用在任何层次:
@Component("userDao")
public class UserDao{}
等效于
<bean id="userDao" class="xxx.UserDao"/>
可用作定义Bean的注解
- @Component用于DAO实现类标注
- @S