1,注入一个bean初始化设置的类到容器:
@Component
public class TestBean implements InitializingBean {
private String name;
private int age;
public TestBean(String name, int age) {
this.name = name;
this.age = age;
}
public TestBean() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "TestBean{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("执行了afterPropertiesSet");
this.name="init";
this.age = 9999;
}
}
2,或者依赖注入bean到容器:
@Configuration
public class DITestBean {
@Bean
public TestBean initTestBean(){
TestBean testBean = new TestBean();
testBean.setName("测试");
testBean.setAge(11);
return testBean;
}
}
3,控制反转:
@RestController
public class TestDemoController {
@Autowired
TestBean testBean;
@GetMapping("/testBean")
public void testBean(){
System.out.println(testBean);
}
}
4,测试:
1,第一种注入运行结果输出:TestBean{name=‘init’, age=9999}
2,第二种注入运行结果输出:TestBean{name=‘test’, age=11}