尽管在很多场景下通过组件和自动装配实现Spring的自动化配置时更为推荐的方式,但有时候自动化配置行不通,因此需要明确配置Spring。比如,想要将第三方库中的组件装配到自己的应用中,这样就没办法添加@Component和@AutoWired的,因此就不能使用自动化装配的方案了。
在进行显示配置时,JavaConfig是更好的方案,因为它更加强大,类型安全并且重构友好。它就是java代码,就像应用中的其它java代码一样。
代码如下:
@Configuration
public class Configuration {
@Bean
public Dog conf(){
return new Dog();
}
}
创建JavaConfig类的关键在于为其添加@Configuration注解,@Configuration注解表名这个类是一个配置类。
@Bean注解告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean。这里使用java来进行配置,因此我们可以发挥java所提供的功能,只要最后返回一个对象即可。
public class Dog {
public void run(){
System.out.println("***");
}
}
测试代码:
@Test
public void test() {
ApplicationContext ac = new AnnotationConfigApplicationContext(Configuration.class);
Dog dog = ac.getBean(Dog.class);
dog.run();
}
最后强调一遍,带有@Bean注解的方法可以采用任何有必要的java功能来产生bean实例。
可以加我微信一起学习: