完全不再使用Spring的XML配置文件,全权交给Java来做。
JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能。
案例演示
- 实体类
@Component
public class User {
private String name;
public String getName() {
return name;
}
@Value("大米")
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" + "name='" + name + '\'' + '}';
}
}
- 配置类
@Configuration //该注解也会被Spring容器托管,注册到容器中,因为它本来就是一个@Component,
// @Configuration就是一个配置类,相当于Spring容器的配置文件applicationContext.xml
@ComponentScan(basePackages = "com.dong.pojo") //支持扫描组件包,相当于<beans><context:component-scan base-package="com.acme"/></beans>
public class JavaConfig {
@Bean(name = "user") //注册一个bean相当于<bean id="user" class="com.dong.pojo.User"/>
public User getUser(){
return new User(); //就是要返回注入到bean的对象
}
}
- 测试类
public class MyTest {
public static void main(String[] args) {
//如果完全使用配置类方式去做,我们就只能通过AnnotationConfig上下文来获取容器,通过配置类的class对象加载
ApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
User user = context.getBean("user", User.class);
System.out.println(user);
}
}
- 输出结果
User{name='大米'}
总结:这种纯Java的配置,在SpringBoot中随处可见哦!