1. 程式人生 > >Spring 靜態工廠方法及例項工廠方法配置bean

Spring 靜態工廠方法及例項工廠方法配置bean

通過呼叫靜態工廠方法建立Bean

呼叫靜態工廠方法建立Bean是將物件建立的過程封裝到靜態方法中。當客戶端需要物件時,只需要簡單地呼叫靜態方法,而不關心建立物件的細節。要宣告通過靜態方法建立的Bean,需要在Bean的class屬性裡指定擁有該工廠的方法的類,同時在factory-method屬性裡指定工廠方法的名稱。最後,使用<constructor-arg>元素為該方法傳遞方法引數。

下面程式碼給出一個例子,呼叫DateFormat中的getDateInstance靜態方法來建立Bean。

<bean id="dataformat" class="java.text.DateFormat" factory-method="getDateInstance">
    	<constructor-arg value="2"></constructor-arg>
</bean>

通過呼叫例項工廠方法建立Bean

例項工廠方法:將物件的建立過程封裝到另外一個物件例項的方法裡。當客戶端需要請求物件時,只需要簡單的呼叫該例項方法而不需要關心物件的建立細節。要宣告通過例項工廠方法建立的Bean

  • 在Bean的factory-bean屬性裡指定擁有該工廠方法的Bean
  • factory-method屬性指定該工廠方法的名稱
  • 使用constructor-arg元素為工廠方法傳遞方法引數

下面程式碼給出一個例子,首先宣告擁有工廠方法的bean-simpledataformat,接著建立新的物件factory-bean指定為上面的simpledateformat,並設定factory-method為parse方法,並在constructor-arg中傳遞引數,

 <bean id="simpledataformat" class="java.text.SimpleDateFormat">
    	<constructor-arg value="yyyy-MM-dd hh-mm-ss"></constructor-arg>
</bean>
<bean id="date" factory-bean="simpledataformat" factory-method="parse">
    	<constructor-arg value="2018-05-28 20-47-00"></constructor-arg>
</bean>

輸出結果為:

五月 28, 2018 8:51:16 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
資訊: Refreshing org[email protected]4d405ef7: startup date [Mon May 28 20:51:16 CST 2018]; root of context hierarchy
五月 28, 2018 8:51:16 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
資訊: Loading XML bean definitions from class path resource [applicationContext.xml]
Mon May 28 20:47:00 CST 2018

相關推薦

Spring 靜態工廠方法例項工廠方法配置bean

通過呼叫靜態工廠方法建立Bean呼叫靜態工廠方法建立Bean是將物件建立的過程封裝到靜態方法中。當客戶端需要物件時,只需要簡單地呼叫靜態方法,而不關心建立物件的細節。要宣告通過靜態方法建立的Bean,需要在Bean的class屬性裡指定擁有該工廠的方法的類,同時在factor

Spring——靜態工廠方法例項工廠方法建立 Bean

一、通過呼叫靜態工廠方法建立 bean: 利用靜態工廠方法可以把bean注入到IOC容器中。在XML檔案中配置bean時,要指定class的屬性為工廠的類;factory-method屬性指定工廠類中工廠方法,用於建立bean;constrctor-arg用於給工廠方法傳遞

Spring 學習(十)——通過工廠方法靜態工廠方法 & 例項工廠方法配置 bean

  通過呼叫靜態工廠方法建立 Bean •呼叫靜態工廠方法建立 Bean是將物件建立的過程封裝到靜態方法中. 當客戶端需要物件時, 只需要簡單地呼叫靜態方法, 而不同關心建立物件的細節. •要宣告通過靜態方法建立的 Bean, 需要在 Bean 的 class 屬性裡指定擁有該

Spring靜態工廠例項工廠的使用 重溫自己對於Spring 的理解

靜態工廠方法:直接呼叫靜態方法可以返回Bean的例項 package com.zw.factory;import java.util.HashMap;import java.util.Map;public class StaticCarFactory {/*** 靜態工廠方法:直接呼叫靜態方

靜態工廠方法例項工廠方法注入bean

一、靜態工廠方法注入bean 利用靜態工廠方法可以把bean注入到IOC容器中。在XML檔案中配置bean時,要指定class的屬性為工廠的類;factory-method屬性指定工廠類中工廠方法,用於建立bean;constrctor-arg用於給工廠方法傳

【機器學習】R語言進行機器學習方法例項

R語言進行機器學習方法及例項 機器學習的研究領域是發明計算機演算法,把資料轉變為智慧行為。機器學習和資料探勘的區別可能是機器學習側重於執行一個已知的任務,而資料發掘是在大資料中尋找有價值的東西。 機器學習一般步驟 收集資料,將資料轉化為適合分析的電子資料 探索和準備資料,

遞迴程式設計方法例項

                                        &nb

FirstKeyOnlyFilter的使用方法例項

FirstKeyOnlyFilter :api中解釋如下:  A filter that will only return the first KV from each row. This filter can be used to more efficiently

Python gzip庫函式使用方法例項

<pre name="code" class="python">解壓gzip檔案示例: import gzip f = gzip.open('file.txt.gz', 'rb') fil

asp.net-頁面跳轉的方法例項

例項如下: .aspx程式碼如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_01.aspx.cs" Inherits="Sample_01" %> <!DOCTYPE

分享php中四種webservice實現的簡單架構方法例項

本人所瞭解的webservice有以下幾種:PHP本身的SOAP,開源的NUSOAP,商業版的PHPRPC,以及使用二進位制傳輸資料流的HessianPHP,那麼一下就簡單的介紹下這幾種webservice在php中的使用,雖然網上也有很多這方面的資料,但是這是我個人實踐所得,當然也是從網上找的資料

基於YCbCr空間的膚色建模的常用方法例項

### Date: 2017/6/10 ### Author:SoaringLee 參考blog:  http://blog.csdn.net/berguiliu/article/details/88

Android自動化測試之Monkeyrunner使用方法例項

目前android SDK裡自帶的現成的測試工具有monkey 和 monkeyrunner兩個。大家別看這倆兄弟名字相像,但其實是完完全全不同的兩個工具,應用在不同的測試領域。總的來說,monkey主要應用在壓力和可靠性測試上,執行該命令可以隨機地向目標程式傳送各種模擬鍵

Spring與代理模式和例項工廠模式的整合使用

公司的一個專案,覺得這個設計挺有意思的,記錄下來,可能日後會用到。 只記錄了大概的一些具有代表性的程式碼,因修改過公司的包名等一些敏感性的關鍵字,可能class或者Interface有些錯誤,但不影響理解。 <!--門票類的呼叫。從這個bean入手理解設計模式 -

Extjs中grid 的ColumnModel 屬性配置和常用方法例項

{ var str ="<input type='button' value='檢視詳細資訊' onclick='alert("""+"這個單元格的值是:"+ value +""+"這個單元格的配置是:{cellId:"+ cellmeta.cellId +",id:"+ cellmeta.id +",

Java中Executors類中幾種建立各型別執行緒池的方法例項

Executors:提供了一系列靜態工廠方法用於建立各種執行緒池。 1.Executors.newCachedThreadPool建立可變執行緒池 如果執行緒池長度超過處理需要,可靈活回收空閒執行緒,若無可回收,則新建執行緒。核心執行緒池大小為0,最大為Integer.MA

nginx配置:location配置方法例項詳解

location匹配的是nginx的哪個變數? $request_uri location的匹配種類有哪些? 格式 location [ 空格 | = | ~ | ~* |^~|!~ | !~* ] /uri/ {}=開頭表示精確匹配 ^~ 開頭,注意這不是一個正則表示式

sumproduct函式的使用方法例項

其原理是 ((A2:A10="二班"),就是陣列中各行的值如果是二班,就是“真”,否則,就是“假”,“真”對應值為1,“假”對應值為0,當有這個條件表達後,A2:A10的值是“0,0,0,1,1,1,0,0,0”。(B2:B10="數學"),就是陣列中各行的值如果是數學,就是“真”,否則,就是“假”,“

Python的類方法靜態方法例項方法

#-*- coding:utf-8 -*- class A: def __init__(self,name): self.name=name @staticmethod def staticfun(): p

Python中類的屬性、方法內置方法

包含 obj urn 資源 tin 初始化 方式 Coding 特性 1.類的屬性 成員變量 對象的創建 創建對象的過程稱之為實例化,當一個對象被創建後,包含三個方面的特性對象聚丙屬性和方法, 句柄用於區分不同的對象, 對象的屬性和方法,與類中的成員變量和成員函數對應, o