中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

SpringBean中怎么實現(xiàn)實例化

SpringBean中怎么實現(xiàn)實例化,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)榆林免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

Bean的實例化

1.構造器實例化:Spring容器通過Bean對應類中默認的無參構造方法來實例化Bean

package com.itheima.instance.constructor; public class Bean1 { }

<?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="com.itheima.instance.constructor.Bean1"></bean></beans>

在beans1.xml文件中,定義了一個id為bean1的Bean,并通過class屬性指定其對應的實現(xiàn)類Bean1

package com.itheima.instance.constructor; import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext; public class InstanceTest1 {  public static void main(String[] args) {    //定義配置文件路徑    String xmlPath = "com/itheima/instance/constructor/beans1.xml";    //ApplicationContext在加載配置文件時,對Bean進行實例化    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);    Bean1 bean = (Bean1) applicationContext.getBean("bean1");    System.out.println(bean);  }}

在InstanceTest1類中,首先定義了配置文件的路徑,然后Spring容器ApplicationContext會加載配置文件。在加載時,Spring容器會通過id為bean1的實現(xiàn)類Bean1中默認的無參構造方法對Bean進行實例化。

2. 靜態(tài)工廠方法實例化

package com.itheima.instance.static_factory; public class Bean2 { }

package com.itheima.instance.static_factory; public class MyBean2Factory {  //使用自己的方法創(chuàng)建Bean2實例  public static Bean2 createBean(){    return new Bean2();  }}

<?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="bean2" class="com.itheima.instance.static_factory.MyBean2Factory" factory-method="createBean"></bean></beans>

定義id為bean2的Bean,通過class屬性指定其對應的工廠實現(xiàn)類(MyBean2Factory.java),需要增加factory-method屬性來告訴Spring容器其方法名稱為createBean。

package com.itheima.instance.static_factory; import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext; public class InstanceTest2 {  public static void main(String[] args) {    //定義配置文件路徑    String xmlPath = "com/itheima/instance/static_factory/beans2.xml";    //ApplicationContext在加載配置文件時,對Bean進行實例化    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);    System.out.println(applicationContext.getBean("bean2"));  }}

3.實例工廠方式實例化

package com.itheima.instance.factory; public class Bean3 { }

package com.itheima.instance.factory; public class MyBean3Factory {  public MyBean3Factory(){    System.out.println("bean3工廠實例化中");  }  //創(chuàng)建Bean3實例的方法  public Bean3 createBean(){    return new Bean3();  }}

<?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="myBean3Factory" class="com.itheima.instance.factory.MyBean3Factory"></bean><!-- 使用 factory-bean屬性指向配置的實例工廠   使用factory-method屬性確定使用工廠中的哪個方法 -->   <bean id="bean3" factory-bean="myBean3Factory" factory-method="createBean"></bean></beans>

首先配置了一個工廠Bean,然后配置了需要實例化的Bean。在id為bean3的Bean中,使用factory-bean屬性指向配置的實例工廠,使用factory-method屬性來確定使用工廠中的createBean()方法

package com.itheima.instance.factory; import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext; public class InstanceTest3 {  public static void main(String[] args) {    //指定配置文件路徑    String xmlPath = "com/itheima/instance/factory/beans3.xml";    //ApplicationContext加載配置文件時,對Bean進行實例化    @SuppressWarnings("resource")    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);    System.out.println(applicationContext.getBean("bean3"));  }}

看完上述內(nèi)容,你們掌握SpringBean中怎么實現(xiàn)實例化的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享題目:SpringBean中怎么實現(xiàn)實例化
新聞來源:http://www.rwnh.cn/article30/peogso.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站設計公司定制網(wǎng)站、關鍵詞優(yōu)化網(wǎng)站建設、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
宁远县| 垣曲县| 洞口县| 青川县| 台安县| 江口县| 桃源县| 西昌市| 深圳市| 武鸣县| 彩票| 吉隆县| 高尔夫| 巫溪县| 邛崃市| 克山县| 灵宝市| 沛县| 万山特区| 平泉县| 淮北市| 新沂市| 天祝| 延川县| 塘沽区| 顺义区| 嵩明县| 抚顺市| 越西县| 乌苏市| 萨迦县| 高安市| 湘西| 固始县| 平陆县| 五大连池市| 黑水县| 五原县| 鹤山市| 昌邑市| 隆德县|