Java Spring-IOC和DI

2017-11-06 16:30:25java

IOC:控制反轉,將對象的建立權交由Spring管理。IOC底層原理:工廠類+反射+配置文件,建立對象交由工廠類完成。spring

DI(Dependency Injection):依賴注入,在Spring建立對象的過程當中,把對象依賴的屬性注入到類中。框架

  • IOC裝配Bean

Spring框架Bean實例化的方法:spa

* 構造方法實例化(默認無參數構造):主要採用這種方法
* 靜態工廠實例化
* 實例工廠實例化
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="bean1" class="spring2.Bean1"></bean>

    <!--採用靜態工廠實例化,class爲工場的類,而且要傳方法名-->
    <bean id="bean2" class="spring2.Bean2Fac" factory-method="getBean2"/>

    <!--採用實例工場實例化-->
    <bean id="bean3fac" class="spring2.Bean3Fac"/>
    <bean id="bean3" factory-bean="bean3fac" factory-method="getBean3"/>

</beans>

 

類:blog

/**
 * 使用默認構造方法進行實例化
 */
public class Bean1 {

    public void method()
    {
        System.out.println("Hello spring.");
    }

    public void show(){
        System.out.println("Hello spring.");
    }
}

/**
 * 使用靜態工廠實例化
 */

public class Bean2 {
}

public class Bean2Fac {
    public static Bean2 getBean2(){
        return new Bean2();
    }
}

/**
 * 使用實例工廠實例化
 */

public class Bean3 {

}

public class Bean3Fac {
    public Bean3 getBean3(){
        return new Bean3();
    }
}
相關文章
相關標籤/搜索