从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
示例:
person类:
public class Person {
private String name;
private String age;
public Person() {
}
public Person(String name, String age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
}
启动配置类:
@Configuration
public class AnnotationConfig {
@Bean("person") //给容器注册一个bean,id默认是用方法名作为id
public Person person01(){
System.out.println("person bean 被注入到容器中了");
return new Person("Bill","30");
}
}
测试类:
@Test
public void test01() {
//获取配置类
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AnnotationConfig.class);
Person person1 = (Person) context.getBean("person");
System.out.println(person1);
}
结果:
person bean 被注入到容器中了
Person{name='Bill', age='30'}