1. 程式人生 > >Bean的三種被例項化的方法

Bean的三種被例項化的方法

在Spring中有三個例項化bean的方式:

1.使用構造器例項化

2.使用靜態工廠方法例項化

3.使用例項化工廠方法例項化

(使用最普遍的是第一種,使用構造器例項化)

(1)使用構造器例項化

這種方法我們使用的最多,因為不再用去建立工廠類.最簡單

測試類:

public class InstanceTest1 {
       public static void main(String[] args) {
     	String xmlPath = "com/itheima/instance/constructor/beans1.xml";
               ApplicationContext applicationContext = 
			    new ClassPathXmlApplicationContext(xmlPath);
	Bean1 bean = (Bean1) applicationContext.getBean("bean1");
                System.out.println(bean);
      }
}

在xml中配置也是很簡單

  <bean id="bean1" class="com.itheima.instance.constructor.Bean1" />

(2)使用靜態工廠方法例項化

想要使用此種例項化方法必需要有工廠類,而且工廠裡要有靜態方法

測試類:

public class InstanceTest2 {
         public static void main(String[] args) {
	String xmlPath ="com/itheima/instance/static_factory/beans2.xml";
 	ApplicationContext applicationContext = 
 			         new ClassPathXmlApplicationContext(xmlPath);
 	System.out.println(applicationContext.getBean("bean2"));
         }
  }

靜態工廠:

public class MyBean2Factory {
    public static Bean2 createBean(){
        return new Bean2();
    }
}

xml:

    <bean id="bean2" class="com.itheima.instance.constructor.MyBean2Factory" factory-method="createBean"/>

此種方法的xml和第一種有區別,需注意.

id是例項化物件的名稱,class裡面寫工廠類,而factory-method是實現例項化類的靜態方法

(3)使用例項化工廠方法例項化:

測試類:

public class InstanceTest3 {
    public static void main(String[] args) {
        String xmlPath = "applicationContext.xml";
        ApplicationContext applicationContext =
                new ClassPathXmlApplicationContext(xmlPath);
        System.out.println(applicationContext.getBean("bean3"));
    }
}

工廠類:

public class MyBean3Factory {
    public Bean3 createBean(){
        return new Bean3();
    }
}

xml:

<bean id="myBean3Factory" class="com.itheima.instance.constructor.MyBean3Factory"/>
<bean id="bean3" factory-bean="myBean3Factory" factory-method="createBean"  />

此種方法需要注意,由於使用的是例項化工廠方法例項化,想要建立bean物件必須,得呼叫工廠方法,然後想要呼叫方法還必須要有工廠的物件,所以需要給工廠也寫個bean標籤.其中factory-bean對應被例項化工廠類的物件的名稱,factory-method是工廠的非靜態方法.


相關推薦

Bean例項方法

在Spring中有三個例項化bean的方式:1.使用構造器例項化2.使用靜態工廠方法例項化3.使用例項化工廠方法例項化(使用最普遍的是第一種,使用構造器例項化)(1)使用構造器例項化這種方法我們使用的最多,因為不再用去建立工廠類.最簡單測試類:public class Ins

Matlab歸一方法

   歸一化的具體作用是歸納統一樣本的統計分佈性。歸一化在0-1之間是統計的概率分佈,歸一化在-1--+1之間是統計的座標分佈。歸一化有同一、統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練(概率計算)和預測的,且sigmoid函式的取值

jmeter的參數方法

idt eight 用戶 config weight 選項 直接 分享 one JMeter的三種參數化方式包括: 1.用戶參數 2.函數助手 3.CSV Data Set Config 一、用戶參數 位置:添加-前置處理器-用戶參數 操作:

bean的4例項方法

  具體檔案格式 application.xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns = "http://www.springframework.org/schema/

設計模式之工廠模式---物件的例項部分提取出來---不同的提取方法

一、不使用工廠 披薩專案:要方便披薩品種的擴充套件、要便於維護、要能執行時擴充套件 披薩族的設計: 抽象Pizza類,有四個方法:prepare()、bake(),cut(),box() 實際的披薩:GreekPizza和CheesePizza 披薩工廠設計:

Spring學習(十四)Spring Bean 的3例項方法介紹

Spring IoC容器如何例項化Bean呢? 傳統應用程式可以通過new和反射方式進行例項化Bean。而Spring IoC 容器則需要根據Bean定義裡的配置元資料使用反射機制來建立Bean。在

如何注入有複雜例項方法bean

1、使用@Configuration + @Bean @Configuration public class ServiceConfig { @Bean @Scope("prototype") public CommonDrawService commonDrawService()

Java類例項方法

1、用new語句建立物件,這是最常見的建立物件的方法。2、通過工廠方法返回物件,如:String str = String.valueOf(23); 3、運用反射手段,呼叫java.lang.Class或者java.lang.reflect.Constructor類的new

.Net MVC 導入導出Excel總結(導出Excel方法,一導入Excel方法) 通過MVC控制器導出導入Excel文件(可用於java SSH架構)

ets esp llb pat lencod cnblogs 創建 etime mmd public class ExcelController : Controller { // // GET: /Excel/ M

Java嵌入jsp的方法

ase page 表達 控制流 ont 三種 控制流程 ring itl 一.表達式標簽<%= %> 作用:1.計算表達式的值 <%=1+1%> 2.在頁面顯示表達式的值

python裏等待元素的方法

python元素等待 python顯性等待 wait方法 python隱性等待 在做web或app的自動化測試經過會出現找不到元素而報錯的情況,很多時候是因為元素 還沒有被加載出來,查找的代碼就已經被執行了,自然就找不到元素了。那麽我可以用等待 元素加載完成後再執行查找元素的code。 Pyt

Python內建函式類方法靜態方法例項方法學習

靜態方法 class C(object): @staticmethod def f(): print('runoob'); C.f(); # 靜態方法無需例項化 cobj = C() cobj.f() # 也可以例項化後

資料的兩歸一方法

資料標準化(歸一化)處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。 一般而言,

Java Web開發Tomcat中部署專案的方法(轉)

轉自:http://www.gowhich.com/blog/539 第一種方法:在tomcat中的conf目錄中,在server.xml中的,節點中新增: <Context path="/hello" docBase="D:\eclipse3.2.2forwebtools\works

抽象類不能例項

/** * */ package test919; public abstract class Animal { private String name; public Animal(String name) { super(); this.nam

歸一方法(Normalization Method)python實現

資料歸一化問題是資料探勘中特徵向量表達時的重要問題,當不同的特徵成列在一起的時候,由於特徵本身表達方式的原因而導致在絕對數值上的小資料被大資料“吃掉”的情況,這個時候我們需要做的就是對抽取出來的features vector進行歸一化處理,以保證每個特徵被分類器平等對待。

2 HashMap 的例項方法

HashMap 的例項化其實沒做什麼,主要是一些基礎引數的賦值 那麼來一個一個看看 一、預設的方式 public HashMap() { this.loadFactor = DEFAULT_LO

常用資料標準化方法

引入 評價是現代社會各領域的一項經常性的工作,是科學做出管理決策的重要依據。隨著人們研究領域的不斷擴大,所面臨的評價物件日趨複雜,如果僅依據單一指標對事物進行評價往往不盡合理,必須全面地從整體的角度考慮問題,多指標綜合評價方法應運而生。所謂多指標綜合評價方法,就

1、利用介面實現動態的建立物件[選做題] 1.1 建立4個類: 蘋果 香蕉 葡萄 園丁 1.2 在水果的構造方法中列印一句話. 以蘋果類為例

package javademo9; import java.util.Scanner; interface Fruit{ } class Apple implements Fruit { public Apple() { System.out.println("建立了一個蘋

SpringMvc學習心得() spring例項JavaBean的過程

     我們一般是通過呼叫一個類的建構函式完成例項化的工作,spring當然也不例外。然而相比於直接通過建構函式對類進行例項化,spring的例項化過程要複雜得多。    在之前的部落格中,本人曾經說過,任何一個JavaBean都有一個beandefinition。然而b