欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Spring工廠方法注入屬性方式

 更新時(shí)間:2025年04月11日 10:57:52   作者:長(zhǎng)不大的大灰狼  
這篇文章主要介紹了關(guān)于Spring工廠方法注入屬性方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

靜態(tài)工廠注入

在 Spring 中,也可以使用靜態(tài)工廠的方式實(shí)例化 Bean。此種方式需要提供一個(gè)靜態(tài)工廠方法創(chuàng)建 Bean 的實(shí)例。

① 創(chuàng)建實(shí)體類(lèi)

public class Person{
	String name;
	public void setName(String name){
		this.name = name;
    }
}

② 創(chuàng)建靜態(tài)工廠類(lèi)

創(chuàng)建一個(gè)名為 MyBeanFactory 的類(lèi),并在該類(lèi)中創(chuàng)建一個(gè)名為 createBean() 的靜態(tài)方法,用于創(chuàng)建 Bean 的實(shí)例,如下所示。

public class MyBeanFactory {
    // 創(chuàng)建Bean實(shí)例的靜態(tài)工廠方法
    public static Person createBean() {
    	Person person = new Person();
    	person.setName("glp");
        return person;
    }
}

③ 創(chuàng)建 Spring 配置文件

創(chuàng)建 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" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
    
    <bean id="person" class="com.mengma.instance.static_factory.MyBeanFactory"
        factory-method="createBean" />
        
</beans>

上述代碼中,定義了一個(gè) id 為 person 的 Bean,其中 class 屬性指定了其對(duì)應(yīng)的工廠實(shí)現(xiàn)類(lèi)為 MyBeanFactory,而 factory-method 屬性用于告訴 Spring 容器調(diào)用工廠類(lèi)中的 createBean() 方法獲取 Bean 的實(shí)例。

實(shí)例工廠注入

在 Spring 中,還有一種實(shí)例化 Bean 的方式就是采用實(shí)例工廠,直接在成員方法中創(chuàng)建 Bean 的實(shí)例。

同時(shí),在配置文件中,需要實(shí)例化的 Bean 也不是通過(guò) class 屬性直接指向其實(shí)例化的類(lèi),而是通過(guò) factory-bean 屬性配置一個(gè)實(shí)例工廠,然后使用 factory-method 屬性確定使用工廠中的哪個(gè)方法。

① 創(chuàng)建實(shí)體類(lèi)

public class Person{
	String name;
	public void setName(String name){
		this.name = name;
    }
}

② 創(chuàng)建實(shí)例工廠類(lèi)

創(chuàng)建一個(gè)名為 MyBeanFactory 的類(lèi)。

public class MyBeanFactory {
    public MyBeanFactory() {
        System.out.println("person3工廠實(shí)例化中");
    }
    // 創(chuàng)建Bean的方法
    public Person createBean() {
        Person person = new Person();
    	person.setName("cbj");
        return person;
    }
}

③ 創(chuàng)建 Spring 配置文件

創(chuàng)建 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" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
    
    <!-- 配置實(shí)例工廠 -->
    <bean id="myBeanFactory" class="com.mengma.instance.factory.MyBeanFactory" />
    
    <!-- factory-bean屬性指定一個(gè)實(shí)例工廠,factory-method屬性確定使用工廠中的哪個(gè)方法 -->
    
    <bean id="person" factory-bean="myBeanFactory" factory-method="createBean" />
    
</beans>

上述代碼中,首先配置了一個(gè)實(shí)例工廠 Bean,然后配置了需要實(shí)例化的 Bean。

在 id 為 person的 Bean 中,使用 factory-bean 屬性指定一個(gè)實(shí)例工廠,該屬性值就是實(shí)例工廠的 id 屬性值。

使用 factory-method 屬性確定使用工廠中的 createBean() 方法。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java網(wǎng)絡(luò)編程之簡(jiǎn)單的服務(wù)端客戶(hù)端應(yīng)用實(shí)例

    Java網(wǎng)絡(luò)編程之簡(jiǎn)單的服務(wù)端客戶(hù)端應(yīng)用實(shí)例

    這篇文章主要介紹了Java網(wǎng)絡(luò)編程之簡(jiǎn)單的服務(wù)端客戶(hù)端應(yīng)用,以實(shí)例形式較為詳細(xì)的分析了java網(wǎng)絡(luò)編程的原理與服務(wù)器端客戶(hù)端的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • java開(kāi)發(fā)之SQL語(yǔ)句中DATE_FORMAT函數(shù)舉例詳解

    java開(kāi)發(fā)之SQL語(yǔ)句中DATE_FORMAT函數(shù)舉例詳解

    要將日期值格式化為特定格式,請(qǐng)使用DATE_FORMAT函數(shù),下面這篇文章主要給大家介紹了關(guān)于java開(kāi)發(fā)之SQL語(yǔ)句中DATE_FORMAT函數(shù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • java分布式事務(wù)之可靠消息最終一致性解決方案

    java分布式事務(wù)之可靠消息最終一致性解決方案

    這篇文章主要為大家介紹了java分布式事務(wù)之可靠消息最終一致性解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Spring常用數(shù)據(jù)源的xml配置詳解

    Spring常用數(shù)據(jù)源的xml配置詳解

    這篇文章主要介紹了Spring常用數(shù)據(jù)源的xml配置詳解,數(shù)據(jù)源是連接到數(shù)據(jù)庫(kù)的一類(lèi)路徑,它包含了訪問(wèn)數(shù)據(jù)庫(kù)的信息(地址、用戶(hù)名、密碼),數(shù)據(jù)源就像是排水管道,需要的朋友可以參考下
    2023-07-07
  • mvc架構(gòu)實(shí)現(xiàn)商品的購(gòu)買(mǎi)(二)

    mvc架構(gòu)實(shí)現(xiàn)商品的購(gòu)買(mǎi)(二)

    這篇文章主要為大家詳細(xì)介紹了mvc架構(gòu)實(shí)現(xiàn)商品購(gòu)買(mǎi)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Java中繼承thread類(lèi)與實(shí)現(xiàn)Runnable接口的比較

    Java中繼承thread類(lèi)與實(shí)現(xiàn)Runnable接口的比較

    這篇文章主要介紹了Java中繼承thread類(lèi)與實(shí)現(xiàn)Runnable接口的比較的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C語(yǔ)言中下標(biāo)與指針的轉(zhuǎn)換以及指向指針的指針的例子

    C語(yǔ)言中下標(biāo)與指針的轉(zhuǎn)換以及指向指針的指針的例子

    這篇文章主要介紹了C語(yǔ)言中下標(biāo)與指針的轉(zhuǎn)換以及指向指針的指針的示例,是C語(yǔ)言入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • JavaWeb項(xiàng)目中DLL文件動(dòng)態(tài)加載方法

    JavaWeb項(xiàng)目中DLL文件動(dòng)態(tài)加載方法

    在JavaWeb項(xiàng)目中,有時(shí)候我們需要在運(yùn)行時(shí)動(dòng)態(tài)加載DLL文件(在Windows中是DLL,在Linux中是SO文件),這通常用于實(shí)現(xiàn)一些特定的功能,比如調(diào)用本機(jī)代碼或者使用某些特定于操作系統(tǒng)的API,本文將介紹如何在JavaWeb項(xiàng)目中動(dòng)態(tài)加載DLL文件,需要的朋友可以參考下
    2024-12-12
  • Java 安全模型,你了解了嗎

    Java 安全模型,你了解了嗎

    這篇文章主要介紹了Java 安全模型。Java的安全模型是其多個(gè)重要結(jié)構(gòu)特點(diǎn)之一,它使Java成為適用于網(wǎng)絡(luò)環(huán)境的技術(shù)。Java安全模型側(cè)重于保護(hù)終端用戶(hù)免受從網(wǎng)絡(luò)下載的、來(lái)自不可靠來(lái)源的、惡意程序(以及善意程序中的bug)的侵犯。,需要的朋友可以參考下
    2019-06-06
  • MyBatis-Plus解決邏輯刪除與唯一索引的問(wèn)題

    MyBatis-Plus解決邏輯刪除與唯一索引的問(wèn)題

    本文主要介紹了MyBatis-Plus解決邏輯刪除與唯一索引的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論