使用java的方式配置Spring
一般来说,装配bean的方式有三种:
- 在XML中显式配置
- 在java中进行显式配置
- 隐式的bean发现机制和自动装配
在实际应用中,尽可能的使用自动配置机制,显式的越少越好。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowire注解的,因此就不能使用自动化装配的方案了。如果必须要用显式的时候,使用类型安全并且比XML更加强大的java装配方式,就是我们本次要学习的方式。
另外,从Spring3.0开始,提供了另外一种启动spring容器的方式,用注解@Configuration定义配置类,然后使用AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext实现基于Java配置类的方式加载Spring的应用上下文初始化Spring容器,无需再使用applicationContext.xml进行配置
纯java的配置方式在SpringBoot中随处可见
- 配置类
@Configuration //会被Spring接管,本身也是一个@component
public class XiaofaConfig {
@Bean
public User getUser(){
return new User();
//就是要返回注入到bean的对象
}}
- 在配置类里面引入多个配置类具体用improt实现
@Import(XiaofaConfig2.class)
@Import(value={XiaofaConfig2.class,XiaofaConfig3.class})
- 测试类
public class MyTest {
public static void main(String[] args) {
//如果完全使用了配置类方式去做,我们就只能通过AnnotationConfig上下文获取容器,通过配置类的class对象加载
ApplicationContext context = new AnnotationConfigApplicationContext(XiaofaConfig.class);
User getUser = (User)context.getBean("getUser");
System.out.println(getUser.getName());
}}