一、自动配置
@Component:注解表明该类会作为组件类,并告知Spring要为这个类创建bean
@ComponentScan:默认会扫描与配置类相同的包
@Autowired:自动装配
二、java配置
@ContextConfiguration(classes=CDPlayerConfig.class):告诉Spring需要在CDPlayerConfig中加载配置
@Configuration:表明这个类是一个配置类,该类应该包含在Spring应用上下文中如何创建bean的细节。
@Bean:告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean。
三、xml配置
1、构造器注入bean引用:元素ref属性。
2、构造器注入bean引用:使用Spring 3.0所引入的c-命名空间。属性名以“c:”开头,也就是命名空间的前缀。接下来就是要装配的构造器参数名,在此之后是“-ref”,这是一个命名的约定,它会告诉Spring,正在装配的是一个bean的引用,这个bean的名字。
3、将字面量注入到构造器中:元素value属性,通过该属性表明给定的值要以字面量的形式注入到构造器之中。
4、装配集合:c-命名空间却无法做到的。元素中包含元素,元素用来指定列表中的每个元素。也可以使用元素替代,实现bean引用列表的装配
5、设置属性-将引用注入属性中:元素为属性的Setter方法所提供的功能与元素为构造器所提供的功能是一样的。它引用了ID为compactDisc的bean(通过ref属性),并将其注入到compactDisc属性中(通过setCompactDisc()方法)。
6、设置属性-将引用注入属性中:Spring为元素提供了c-命名空间作为替代方案,Spring提供了更加简洁的p-命名空间,作为元素的替代方案。属性的名字使用了“p:”前缀,表明我们所设置的是一个属性。接下来就是要注入的属性名。最后,属性的名称以“-ref”结尾,这会提示Spring要进行装配的是引用,而不是字面量。
7、将字面量注入到属性中-元素:value属性.
8、将字面量注入到属性中-p-命名空间的属性:如果没有“-ref”后缀的话,所装配的就是字面量。不能使用p-命名空间来装配集合,没有便利的方式使用p-命名空间来指定一个值(或bean引用)的列表。可以使用Spring util-命名空间中的一些功能来简化BlankDiscbean。
四、混合配置–java引用xml
1、@Import(CDPlayerConfig.class)导入其他java配置
2、@ImportResource("…/…/…/…/…/…/test/resources/ConstractorDI_5.xml")在JavaConfig中引用XML配置
五、混合配置–xml引用java
1、元素只能导入其他的XML配置文件,并没有XML元素能够导入JavaConfig类。
2、元素将JavaConfig类导入到XML配置中。