日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring26-1: bean的实例方式

發布時間:2025/6/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring26-1: bean的实例方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三種bean實例化方式: 默認構造,靜態工廠,實例工廠。

? ?默認構造:

? ? ? ? ?<bean id="" class=""></bean> 這種方式就是使用類的默認構造創建實例對象

? ?靜態工廠:

? ? ? ? ?常用與spring整合其他框架(工具);靜態工廠,用于生成實例對象,所有的方法必須是static.

? ? ? ? ?<bean id="" class="工廠全限定類名" factory-method="靜態方法"></bean>

package com.atChina.staticFactory;public interface SomeService {void doSome(); }package com.atChina.staticFactory;public class SomeServiceImpl implements SomeService {public SomeServiceImpl(){System.out.println("SomeServiceImpl...無參構造函數..");}@Overridepublic void doSome() {System.out.println("doSome業務方法...");}// 定義bean的生命始末方法,自定義方法參與到spring創建和銷毀對象的過程中。// 初始化方法public void startUp(){System.out.println("bean的初始化方法,可以完成構造方法的功能,給屬性賦值,初始化其他對象");}// bean銷毀之前執行的方法public void endDown(){System.out.println("bean對象銷毀之前執行的方法,清楚對象,釋放內存");} }package com.atChina.staticFactory;public class MyBeanFactory {public static SomeService createService(){return new SomeServiceImpl();} } <bean id="someService2" class="com.atChina.staticFactory.MyBeanFactory" factory-method="createService" /> @Testpublic void testStaticFactory(){String configLocation = "applicationContext.xml"; // 類路徑的根目錄ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocation);com.atChina.staticFactory.SomeService ss = (com.atChina.staticFactory.SomeService)ctx.getBean("someService2");ss.doSome(); }

實例工廠

? ?必須先有工廠實例對象,通過實例對象創建對象。提供所有的方法都是非靜態的。

package com.atChina.Factory;public interface SomeService {void doSome(); }package com.atChina.Factory;public class SomeServiceImpl implements SomeService {public SomeServiceImpl(){System.out.println("SomeServiceImpl...無參構造函數..");}@Overridepublic void doSome() {System.out.println("doSome業務方法...");}// 定義bean的生命始末方法,自定義方法參與到spring創建和銷毀對象的過程中。// 初始化方法public void startUp(){System.out.println("bean的初始化方法,可以完成構造方法的功能,給屬性賦值,初始化其他對象");}// bean銷毀之前執行的方法public void endDown(){System.out.println("bean對象銷毀之前執行的方法,清楚對象,釋放內存");} }package com.atChina.Factory;public class MyBeanFactory {public SomeService createService(){return new SomeServiceImpl();} } <!-- 創建實例工廠 --><bean id="myBeanFactory" class="com.atChina.Factory.MyBeanFactory" /><!-- 從實例工廠獲得someService --><bean id="someService3" factory-bean="myBeanFactory" factory-method="createService" /> @Testpublic void testFactory(){String configLocation = "applicationContext.xml"; // 類路徑的根目錄ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocation);com.atChina.Factory.SomeService ss = (com.atChina.Factory.SomeService)ctx.getBean("someService3");ss.doSome(); }

?

總結

以上是生活随笔為你收集整理的spring26-1: bean的实例方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。