Sping(一)——IOC/DI

Spring是一個基於IOC和AOP的結構J2EE系統的框架
IOC(Inversion Of Control) 反轉控制 是Spring的基礎,由容器控制應用程序獲取外部資源而非程序主動獲取。
簡單說就是建立對象由之前的程序員本身new 構造方法來調用,變成了交由Spring建立對象
DI(Dependency Inject) 依賴注入 . 簡單地說就是拿到的對象的屬性,已經被注入好相關值了,直接使用便可。 java

下面例子經過Spring獲取一個對象,並打印其name。
步驟1.新建項目,導入spring框架中lib下的jar包。導包辦法:右鍵 project->properties->java build path->libaries->add external jars程序員

clipboard.png

步驟2.建立Catagory類,定義兩個私有屬性及其setter和getterspring

package com.how2java.pojo;
public class Category {
 
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    private int id;
    private String name;
}

步驟3.在src目錄下新建applicationContext.xml文件
applicationContext.xml是Spring的核心配置文件,配置了BeanFactory能夠生產的Bean的「圖紙」,這裏可經過反射獲取Category的的實例,該實例獲取的時候,注入字符串"Hello Sping!「到具體實例的name屬性中。數組

clipboard.png

步驟4.經過spring獲取Category對象,以及該對象被注入的name屬性。
如圖所示,能夠打印出經過Spring拿到的Category對象的name屬性。
首先經過ClassPathXmlApplicationContext類手動實例化ApplicationContext容器(得到一個Bean工廠);
而後調用getBean("bean's name")方法產生一個名稱爲c的Bean。app

clipboard.png

clipboard.png

注意
1.配置文件中bean裏的name屬性是爲了產生Bean實例的時候定位到某個具體的"圖紙",和產生的實例的名字沒有關係。
2.一個容器能夠以字符串數組的形式添加多個xml。
3.命名規範:類名首字母大寫,可是注入變量名首字母必須小寫!必須小寫!必須小寫!框架

相關文章
相關標籤/搜索