Spring-09-使用JavaConfig进行配置
使用纯Java的方式配置Spring
现在完全不使用Spring的xml配置,全部交给Java来做
JavaConfig是Spring的一个子项目,在Spring4后,它成为了一个核心功能
Java万物皆可为对象,将配置文件------>配置类
示例
实体类
//该注解(@Component),说明该类被Spring托管了,注册到容器中
@Component
public class User {
@Value("cmy")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
配置类(取代原来的.xml配置文件)
//@Configuration 本质上还是@Compontent,也会被注册到Spring容器中
//@Configuration 还表示这是一个配置类==beans.xml
@Configuration
@ComponentScan("com.cmy.pojo")
@Import(HisConfig.class)//导入其他人的配置类
public class MyConfig {
//注册一个bean,=<bean id="" class = "" .../>
//而方法名:getUser相当于id
//方法返回值:User 相当于class
@Bean
public User user(){
return new User();//返回要注入到bean的对象
}
}
测试
public class MyTest {
@Test
public void test(){
//如果完全使用了配置类方式,则只能通过AnnotationConfig获取上下文,通过配置类的class对象加载,从而完全摒弃xml
ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
User user = context.getBean("user",User.class);
System.out.println(user.getName());
}
}
//cmy