咱们当初要齐全不应用 Spring 的 xml 配置了,全权交给 Java 来做!
JavaConfig 是 Spring 的一个子项目,在 Spring4 之后,他成为了一个外围性能。
实体类
package com.jialidun.pojo;
//@Component 注解,阐明这个类被 Spring 接管了,注册到了容器中
@Component
public class User(){
private String name;
@Value("RYGAR")// 属性注入值
public void setName(String name){this.name=name;}
public String getName(){return name;}
@Override
public String toString(){
return "User{" +
"name='" + name + '\'' +
'}' ;
}
}
配置类
package com.jialidun.fonfig;
// 这个 @Configuration 注解也会 Spring 容器托管,注册到容器中。因为它原本就是一个 @Component
//@Configuration 代表这是一个配置类,就和咱们之前看的 beans.xml
@Configuration
@ComponentScan("com.jialidun.pojo")
@Import(RygarConfig2.class)
public class RygarConfig{
// 注册一个 bean,就相当于咱们之前写的一个 bean 标签
// 这个办法的名字就相当于 bean 标签中的 id 属性
// 这个办法的返回值就相当于 bean 标签中的 class 属性
@Bean
public User getUser(){return new User();// 返回要注入到 bean 的对象
}
}
配置类 2
package com.jialidun.config;
@Configuration
public class RygarConfig2{}
测试类
public class TestDemo{public static void main(String[] args){
// 如果齐全应用了配置类形式去做,咱们就只能通过 AnnotationConfig 上下文来获取容器,通过配置类的 class 对象加载!ApplicationContext context = new AnnotationConfigApplicationContext(RygarConfig.class);
User user = context.getBean("getUser");
}
}
这种纯 java 的配置形式,在 SpringBoot 中随处可见!