通过@Bean的方式向spring ioc容器中加入实例,适合第三方组件中类的导入。
具体代码如下:
@Configuration
public class MainClass {
@Bean
public AliasBean aliasBean() {
return new AliasBean();
}
}
public class MainStarter {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MainClass.class);
System.out.println(ctx.getBean("aliasBean"));
}
}
public class AliasBean {
}
运行结果:
可以为bean起多个别名,注意起了别名后原来默认的名字就不能用了:
@Configuration
public class MainClass {
@Bean(name = {"aliasBean1","aliasBean2"})
public AliasBean aliasBean() {
return new AliasBean();
}
}
public class MainStarter {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MainClass.class);
System.out.println("aliasBean1 " + ctx.getBean("aliasBean1"));
System.out.println("aliasBean2 " + ctx.getBean("aliasBean2"));
System.out.println("aliasBean " + ctx.getBean("aliasBean"));
}
}
运行结果: