Spring系列(1)--IOC 和 DI

IOC 和 DI

IOC 原理

  • xml 配置文件配置 beanjava

  • dom4j 讀取配置文件
  • 工廠設計模式
  • 反射機制建立對象spring

applicationContext.xml 配置文件,該配置文件名可自定義:設計模式

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <bean id="user" class="x.y.User"></bean>
</beans>

JavaBean User.java:app

package x.y;
class User{
    private int id;
    private String name;
    public void setID(int id){
        this.id = id;
    }
    public Int getID(){
        return id;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
}

以上就是根據 JavaBean 進行配置文件的最簡單配置。接下來是工廠設計模式+反射機制建立對象的過程,只需瞭解這一過程,並非完整的源代碼:dom

Factory.java:this

public class Factory{
    public static User getBean(){
        // 經過 dom4j 解析 XML 文件
        // 根據 id 獲得 class 屬性值
        String classValue = "";
        // ;利用反射建立對象
        Class clazz = Class.forName(classValue);
        return clazz.newInstance();
    }
}

IOC 和DI的區別

IOC:控制反轉,將對象建立交給 Spring 進行配置設計

DI:依賴注入,向類中的屬性注入值code

關係:控制反轉是依賴注入的前提,也就是說,沒有 IOC 的話,也就不存在 DIxml

相關文章
相關標籤/搜索