不使用Spring中的xml进行配置,全权交给Java进行处理
JavaConfig是Spring的一个子项目,在Spring4之后,JavaConfig变成了核心功能
-
编写实体类
//这里的这个注解的意思是将这个类注册到容器中,被Spring接管 @Component public class User { private String name; public String getName() { return name; } @Value("123") public void setName(String name) { this.name = name; } @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } }
-
编写JavaConfig配置类
//这个也会被Spring容器托管,注册到容器中,因为这个本来就是一个@Component @Configuration //代表这是一个配置类,就和之前的xml是一样的 @ComponentScan("com.lrm") @Import(Config2.class) //引入另一个配置类 public class MyConfig { //注册一个bean,方法名相当于bean标签中的id,返回值相当于bean标签中的class @Bean public User getUser(){ return new User(); //返回要注入到的bean对象 } }
-
编写测试类
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中随处可见