簡單看看spring的IOC和DI

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}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章