Spring 實例化 Bean 的方式

使用無參構造方法

一、創建實體類

public class IOCBean {
	...
}

二、創建 Spring 配置文件

<?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="iocBean" class="chu.yi.bo.IOCBean"/>
</beans>

使用靜態工廠方法

一、創建實例類

public class IOCBean {
	...
}

二、創建靜態工廠類

public class StaticFactory {

    public static IOCBean createIOCBean() {
        return new IOCBean();
    }
}

三、創建 Spring 配置文件

<?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="iocBean" class="chu.yi.bo.StaticFactory" factory-method="createIOCBean"/>
</beans>

四、Bean 標籤的屬性

屬性 說明
id 指定 bean 的 id
class 指定靜態工廠的全限定類名
factory-method 指定創建對象的靜態方法

使用實例工廠方法

一、創建實例類

public class IOCBean {
	...
}

二、創建實例工廠類

public class InstanceFactory {

    public IOCBean createIOCBean() {
        return new IOCBean();
    }
}

三、創建 Spring 配置文件

<?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="instancFactory" class="chu.yi.bo.InstanceFactory"/>
    <bean id="iocBean"
          factory-bean="instancFactory"
          factory-method="createIOCBean"/>
</beans>

四、Bean 標籤的屬性

屬性 說明
id 指定 bean 的 id
factory-bean 用於指定實例工廠 bean 的 id
factory-method 用於指定實例工廠中創建對象的方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章