使用java的方式配置spring
我们现在要完全不使用spring的xml配置,全权交给java,使用注解的方式配置
javaConfig是spring的一个子项目,在Spring4之后,他成为了一个核心功能。
我们前面提取上下文使用ClassPathXmlConfigApplicationContext,这个是xml的获取上下文的方法,而我们使用注解之后,也有一个获取上下文的类。
官方文档描述:
- 在Configuration就相当于
- 在使用了Configuration注解之后,里面使用了bean注解的方法相当于一个bean装配
- id是方法名 class是返回类型
- @Configuration 这个也继承了@Component,所以也被spring托管,注册到容器中 和beans.xml的作用一样的
- @ComponentScan(value = “com.yu.pojo”)和@Component一起用,或者单独使用bean
@ComponentScan(value = “com.yu.pojo”)和@Component一起用
@Configuration
@ComponentScan(value = "com.yu.pojo")
public class YuConfig {
// @Bean
public User user(){
return new User();
}
}
//配合使用
@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 + '\'' +
'}';
}
}
@bean单独使用
//这个也继承了@Component,所以也被spring托管,注册到容器中
@Configuration
//@ComponentScan(value = "com.yu.pojo")
public class YuConfig {
@Bean
public User user(){
return new User();
}
}
//这个类被spring接管了,注册到了容器中
//实体类
//@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 + '\'' +
'}';
}
}
注:当我学习springboot的时候才发现,在springboot中基本全部使用注解的方式进行配置了,xml的配置已经很少了,因为注解方式可以满足我们的要求了,更不说注解的配置更加的简洁!