亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Spring配置bean的方法(工廠方法和Factorybean)

2019-11-14 21:50:58
字體:
來源:轉載
供稿:網友
SPRing配置bean的方法(工廠方法和Factorybean)

通過工廠方法配置bean

  

  通過調用靜態工廠方法創建bean    通過靜態工廠方法創建bean是將對象創建的過程封裝到靜態方法中。當客戶端需要對象時,只需要簡單地調用靜態方法,而不關心創建對象的細節。    要聲明通過靜態方法創建的bean,需要在bean的class屬性里指定擁有該工廠的方法的類,通知在factory-method屬性里指定工廠方法的名稱,

    最后,使用<constructor-arg>元素為該方法傳遞方法參數  通過調用實例工廠方法創建bean    實例工廠方法:將對象的創建過程封裝到另外一個對象實例的方法里。當客戶端需要請求對象時,只需要簡單的調用該實例方法而不需關心對象的創建細節?!   ∫暶魍ㄟ^實例工廠方法創建的bean:      -在bean的factory-bean屬性里指定擁有該工廠方法的bean      -在factory-method屬性里指定該工廠方法的名稱      -使用constructor-arg元素為工廠方法傳遞方法參數

靜態工廠類:

 

 1 package com.yl.factory; 2  3 import java.util.HashMap; 4 import java.util.Map; 5  6 /** 7  * 靜態工廠方法:直接調用某一個類的靜態方法就可與返回bean的實例 8  * @author yul 9  *10  */11 public class StaticCarFactory {12     13     private static Map<String, Car> cars = new HashMap<String, Car>();14     15     static {16         cars.put("audi", new Car("audi", 300000));17         cars.put("ford", new Car("ford", 300000));18     }19     /**20      * 靜態工廠方法21      * @param name22      * @return23      */24     public static Car getCar(String name) {25         26         return cars.get(name);27     }28 }

實例工廠類:

 1 package com.yl.factory; 2  3 import java.util.HashMap; 4 import java.util.Map; 5 /*** 6  * 實例工廠方法:實例工廠的方法,即現需要創建工廠本身,在調用工廠的實例方法來返回bean的實例 7  * @author yul 8  * 9  */10 public class InstanceCarFactory {11     12     private Map<String, Car> cars = new HashMap<String, Car>();13     14     public InstanceCarFactory() {15         cars = new HashMap<String, Car>();16         cars.put("audi", new Car("audi", 300000));17         cars.put("ford", new Car("ford", 400000));18     }19     20     public Car getCar(String brand) {21         return cars.get(brand);22     }23 }

工廠方法的配置文件:

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5  6     <!-- 通過靜態工廠方法來配置bean,注意不是配置靜態工廠方法實例,而是配置bean實例 --> 7     <!--  8         class屬性:指向靜態工廠方法的全類名 9         factory-method:指向靜態工廠方法的名字10         constructor-arg:如果靜態工廠方法需要傳入參數,則使用constructor-arg來配置參數11      -->12     <bean id="car1" 13         class="com.yl.factory.StaticCarFactory"14         factory-method="getCar">15         <constructor-arg value="audi"></constructor-arg>16     </bean>17     18     <!-- 配置工廠的實例 -->19     <bean id="carFactory" class="com.yl.factory.InstanceCarFactory"></bean>20     21     <!-- 22         factory-bean:指向實例工廠方法的bean23         factory-method:指向實例工廠方法的名字24         constructor-arg:如果實例工廠方法需要傳入參數,則使用constructor-arg來配置參數25      -->26     <!-- 通過實例工廠方法來配置bean -->27     <bean id="car2" factory-bean="carFactory" factory-method="getCar">28         <constructor-arg value="ford"></constructor-arg>29     </bean>30 </beans>

通過Factorybean配置bean

繼承Factorybean的實現類:

 1 package com.yl.factorybean; 2  3 import org.springframework.beans.factory.FactoryBean; 4 //自定義的Factorybean需要實現FactoryBean接口 5 public class CarFactoryBean implements FactoryBean<Car> { 6      7     private String brand; 8      9     public void setBrand(String brand) {10         this.brand = brand;11     }12     13     /**14      * 返回bean的對象15      */16     @Override17     public Car getObject() throws Exception {18         // TODO Auto-generated method stub19         return new Car("BMW", 600000);20     }21     /**22      * 返回bean的類型23      */24     @Override25     public Class<?> getObjectType() {26         // TODO Auto-generated method stub27         return Car.class;28     }29     30     @Override31     public boolean isSingleton() {32         // TODO Auto-generated method stub33         return true;34     }35     36 }

配置文件:

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5     <!--  6         通過Factorybean來配置bean的實例 7         class:指向Factorybean的全類名 8         property:配置Factorybean的屬性 9         10         但實際返回的實例卻是Factorybean的getObject()方法返回的實例11      -->12     <bean id="car" class="com.yl.factorybean.CarFactoryBean">13         <property name="brand" value="BMW"></property>14     </bean>15 </beans>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美综合精品久久成人| 亚洲在线第一页| 97香蕉久久超级碰碰高清版| 亚洲福利小视频| 午夜精品久久久久久久99热浪潮| 美女扒开尿口让男人操亚洲视频网站| 国产精品久在线观看| 77777亚洲午夜久久多人| 亚洲视频第一页| 欧美大片大片在线播放| 亚洲精品美女免费| 久久国产精品免费视频| 国产成人一区二区三区小说| 亚洲免费福利视频| 欧美大片在线看| 亚洲欧洲日产国码av系列天堂| 亚洲欧美日韩天堂| 97高清免费视频| 伊人久久大香线蕉av一区二区| 日韩福利视频在线观看| 亚洲大胆人体av| 久久精品色欧美aⅴ一区二区| 亚洲国产精品专区久久| 国产精品久久久久久五月尺| 国产mv免费观看入口亚洲| 欧美老肥婆性猛交视频| 国产精品高潮呻吟久久av无限| 亚洲码在线观看| 中文字幕久久亚洲| 福利微拍一区二区| 日韩在线观看网址| 国内精品久久久久伊人av| 97在线看福利| 国产精品草莓在线免费观看| 欧美另类极品videosbest最新版本| 亚洲夜晚福利在线观看| 亚洲精品短视频| 日韩亚洲一区二区| 人妖精品videosex性欧美| 国模精品一区二区三区色天香| 亚洲香蕉av在线一区二区三区| 不卡av在线网站| 精品日韩美女的视频高清| 欧美日韩激情视频| 久久99久久亚洲国产| 久久成人这里只有精品| 久久综合电影一区| 国产精品久久久久久久久免费| 国产一区二区三区直播精品电影| 一区二区三区视频在线| 成人夜晚看av| 欧美中文字幕在线视频| www日韩中文字幕在线看| 中日韩美女免费视频网址在线观看| 亚洲变态欧美另类捆绑| 亚洲精品99久久久久| 成人福利网站在线观看11| 亚洲国产97在线精品一区| 粉嫩av一区二区三区免费野| 欧美午夜片欧美片在线观看| 国产精品成人一区二区三区吃奶| 欧美成人午夜激情视频| 亚洲精品视频免费在线观看| 久久精品精品电影网| 亚洲精品wwww| 911国产网站尤物在线观看| 2020久久国产精品| 成人欧美在线视频| 91在线免费观看网站| 欧美综合第一页| 亚洲黄色在线看| 粉嫩av一区二区三区免费野| 久久精品电影一区二区| 色哟哟入口国产精品| 8090理伦午夜在线电影| 欧美亚洲另类视频| 高清欧美一区二区三区| 久久亚洲精品国产亚洲老地址| 欧美在线国产精品| 国产亚洲精品久久久久久| 久久综合亚洲社区| 欧美区二区三区| 操人视频在线观看欧美| 亚洲激情视频在线| 日韩视频在线观看免费| 亚洲第一色在线| 日韩免费av在线| 日韩av手机在线看| 92看片淫黄大片看国产片| 亚洲成人网在线观看| 亚洲一区二区三区乱码aⅴ| 亚洲国产高潮在线观看| 日韩中文字幕网址| 美日韩精品免费观看视频| 国产一区二区欧美日韩| 欧美精品在线视频观看| 亚洲国产日韩欧美在线动漫| 国产精品嫩草影院久久久| 国模视频一区二区三区| 亚洲精品一区av在线播放| 欧美成人午夜免费视在线看片| 国产日韩一区在线| 亚洲第一视频在线观看| 国产精品视频导航| 亚洲最大福利视频网站| 精品久久久久国产| 色悠悠久久久久| 国产精品视频导航| 欧美日韩国产在线| 97香蕉超级碰碰久久免费的优势| 黄色成人av在线| 久久成人av网站| 久久久日本电影| 亚洲国产天堂久久国产91| 日韩av色在线| 欧美久久久精品| 国产suv精品一区二区| 91精品国产综合久久香蕉922| 亚洲小视频在线观看| 最近中文字幕mv在线一区二区三区四区| 92版电视剧仙鹤神针在线观看| 国产美女久久精品| 一区二区在线视频播放| 久久艹在线视频| 色偷偷av一区二区三区乱| 久久手机免费视频| 国产成人精品综合久久久| 国产日韩欧美在线| 国产97色在线|日韩| 黄色91在线观看| 国产成人精品av| 欧美在线一区二区三区四| 欧美精品电影在线| 日韩中文在线中文网三级| 国产精品美女免费视频| 最新中文字幕亚洲| 亚洲精品电影网| 在线性视频日韩欧美| 欧美亚洲午夜视频在线观看| 国产精品青草久久久久福利99| 亚洲人午夜精品| 国产在线98福利播放视频| 欧美亚洲在线播放| 欧美乱大交xxxxx另类电影| 欧美成年人在线观看| 成人激情春色网| 中文字幕日韩高清| 欧美日韩精品在线观看| 国产午夜精品美女视频明星a级| 日韩精品免费电影| 91精品国产91久久久久久最新| 狠狠躁夜夜躁人人躁婷婷91| 日韩av一区在线观看| 精品magnet| 超薄丝袜一区二区| 亚洲视频免费一区| 国产精品美女午夜av| 最近更新的2019中文字幕| 亚洲精品国产福利| 色妞在线综合亚洲欧美| 国产欧美va欧美va香蕉在| 91精品国产91久久| 国模吧一区二区| 亚洲视频在线观看网站|