通过java代码装配bean
在进行显式装配的时候,有两种选型方案:java和XML配置,这里先介绍java的配置方式.
2.3.1创建配置类
先复习下上一章的配置内容:
@Configuration
public class SgtPeppers implements CompactDisc {
private String title = "sgt";
private String song = "Twinkle, twinkle, little start";
public void play() {
System.out.println("title:" + title + "song:" + song);
}
}
这里我们移走了@ComponentScan的注解,只留下了@Configuration的注解,表明这个类是一个配置类,不包含如何实现bean的细节,如果单纯的这样运行的话,测试会失败并出现BeanCreation-Exception异常.测试期望被注入CDPlayer和CompactDisc,但是这些bean根本就没有创建,因为组件扫描不会发现他们.为了测试通过就需要加回@ComponentScan的注解.
2.3.2.声明简单的bean
我们要在javaConfig中声明bean,需要在方法上加上@Bean的注解,如下:
@Bean
public CompactDisc sgtPeppers(){
return new SgtPeppers();
}
默认情况下,bean的ID与带有@Bean的注解的方法名是一样的(本例子是sgtPeppers),如果你想设置成一个不同的名字的话,可以重命名为该方法指定bean的Name属性@Bean(name = "otherName")的方式来实现.