依赖注入(带*表示Java依赖注入规范)
自动发现和装配Bean
1.@Component @Named* 定义组件bean
大多数场景是可以互换的 @Component("t") 重新定义bean的id
2.@ComponentScan 扫描组件bean
@ComponentScan(basePackages={""}) 扫描包路径
@ComponentScan(basePackageClasses={a.class,b.class}) 扫描类所在的包作为组件的基础包
3.@AutoWired @Inject* 自动装配
@AutoWired(required=false) 非强制性装配(装配失败,不装配)
JavaConfig显式装配Bean
1.@Configuration 配置类,用于配置Spring应用上下文中如何创建bean
2.@bean 注明返回一个对象,该对象要注册为Spring应用上下文中的bean
XML装配Bean
<constructor-arg>为构造器参数提供注入
<constructor-arg ref= /> 注入bean
<constructor-arg value=/> 注入值
<constructor-arg><null/><constructor-arg> 注入null
<constructor-arg> 注入list
<list>
<value></value>
<ref bean= />
</list>
</constructor-arg>
<property>为属性的Setter方法提供注入
<property name="" ref="">
c-命名空间 p-命名空间与上面标签区别在于不能装配集合,例如List
但是可以通过util-命名空间来进行
多个配置方式结合
@Import使两个JavaConfig的配置整合在一起
@ImportResource 将javaConfig整合XML
<import resoune="">将两个XML配置整合在一起
<bean>将JavaConfig整合到XML配置中
测试Spring
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={})