Spring使用JavaConfig实现配置

不使用Spring中的xml进行配置,全权交给Java进行处理

JavaConfig是Spring的一个子项目,在Spring4之后,JavaConfig变成了核心功能

  1. 编写实体类

    //这里的这个注解的意思是将这个类注册到容器中,被Spring接管
    @Component
    public class User {private String name;public String getName() {return name;}@Value("123")public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +'}';}
    }
    
  2. 编写JavaConfig配置类

    //这个也会被Spring容器托管,注册到容器中,因为这个本来就是一个@Component
    @Configuration //代表这是一个配置类,就和之前的xml是一样的
    @ComponentScan("com.lrm")
    @Import(Config2.class) //引入另一个配置类
    public class MyConfig {//注册一个bean,方法名相当于bean标签中的id,返回值相当于bean标签中的class@Beanpublic User getUser(){return new User(); //返回要注入到的bean对象}
    }
    
  3. 编写测试类

    public class MyTest {public static void main(String[] args) {//如果完全使用了配置类的方法去做,就只能通过AnnotationConfig上下文来获取容器,通过配置类的class对象加载ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);User getUser = (User) context.getBean("getUser");System.out.println(getUser.getName());}
    }
    

这种纯java的配置方式在spring boot中随处可见