最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring的實例工廠方法和靜態(tài)工廠方法實例代碼

 更新時間:2018年01月10日 11:24:46   作者:zhupengqq  
這篇文章主要介紹了Spring的實例工廠方法和靜態(tài)工廠方法實例代碼,具有一定借鑒價值,需要的朋友可以參考下

Spring的實例工廠方法和靜態(tài)工廠方法都可以用來實例化bean,本文我們就來看看相關實例。

靜態(tài)工廠方法:直接調(diào)用靜態(tài)方法可以返回Bean的實例

package com.zhu.string.factory; 
 
import java.util.HashMap; 
import java.util.Map; 
 
public class StaticCarFactory { 
  /** 
   * 靜態(tài)工廠方法:直接調(diào)用靜態(tài)方法可以返回Bean的實例 
   * 
   */ 
  private static Map<String ,Car > cars=new HashMap<String , Car>(); 
  static{ 
    cars.put("audi",  new Car(3000, "aodi")); 
    cars.put("fodo",  new Car(3000, "aodi")); 
  } 
  //靜態(tài)工廠方法 
  public static Car getCar(String name){    
    return cars.get(name); 
  } 
} 

實例工廠方法。即調(diào)用工廠本身,再調(diào)用工廠的實例方法來返回bean實例

package com.zhu.string.factory; 
 
import java.util.HashMap; 
import java.util.Map; 
 
public class InstanceCarFactory { 
  /** 
   * 實例工廠方法。即調(diào)用工廠本身,再調(diào)用工廠的實例方法來返回bean實例 
   */ 
  private Map<String ,Car> cars=null; 
  public InstanceCarFactory() { 
    // TODO Auto-generated constructor stub 
    cars=new HashMap<String, Car>(); 
    cars.put("audi", new Car(1000,"audi")); 
    cars.put("dffdas", new Car(2000,"audi")); 
  } 
  public Car getCar(String brand){ 
    return cars.get(brand); 
  } 
} 

beans-factory.xml

<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 
xmlns:p="http://www.springframework.org/schema/p" 
  xsi:schemaLocation="http://www.springframework.org/schema/beans  
 
http://www.springframework.org/schema/beans/spring-beans.xsd"> 
 
  <!-- 通過靜態(tài)方法來配置bean,注意不是配置靜態(tài)工廠方法實例,而是配置bean實例 
 
--> 
  <!-- 
    class屬性:指向靜態(tài)方法的全類名 factory-method:指向靜態(tài)方法的名字 
    constructor-arg:如果工廠方法需要傳入?yún)?shù),則使用constructor-arg來配 
 
置參數(shù) 
  --> 
  <bean id="car1" factory-method="getCar" 
    class="com.zhu.string.factory.StaticCarFactory"> 
    <constructor-arg value="audi"></constructor-arg> 
  </bean> 
  <!-- 配置工廠的實例 --> 
  <bean id="carFactory" class="com.zhu.string.factory.InstanceCarFactory"> 
  </bean> 
  <bean id="car2" factory-bean="carFactory" factory-method="getCar"> 
    <constructor-arg value="audi"></constructor-arg> 
  </bean> 
</beans></span> 

Car.java實體類

package com.zhu.string.factory;
public class Car {
	private double price;
	private String brand;
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	@Override 
	  public String toString() {
		return "Car [brand=" + brand + ", price=" + price + "]";
	}
	public Car(){
		System.out.println("cars....constructor");
	}
	public Car(double price, String brand) {
		super();
		this.price = price;
		this.brand = brand;
	}
}

Main.java

package com.zhu.string.factory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
	/** 
   * @param args 
   */
	public static void main(String[] args) {
		// TODO Auto-generated method stub 
		ApplicationContext cx=new ClassPathXmlApplicationContext("beans- 
factory.xml");
		Car car1=(Car) cx.getBean("car1");
		System.out.println(car1);
		Car car2=(Car) cx.getBean("car2");
		System.out.println(car2);
	}
}

運行結果:

Car [brand=aodi, price=3000.0]
Car [brand=audi, price=1000.0]

總結

以上就是本文關于Spring的實例工廠方法和靜態(tài)工廠方法實例代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

  • Java 中DateUtils日期工具類的實例詳解

    Java 中DateUtils日期工具類的實例詳解

    這篇文章主要介紹了Java 中DateUtils日期工具類的實例詳解的相關資料,有時候開發(fā)java項目使用日期類型,這里介紹下日期工具類,需要的朋友可以參考下
    2017-08-08
  • mybatis-plugin插件執(zhí)行原理解析

    mybatis-plugin插件執(zhí)行原理解析

    這篇文章主要介紹了mybatis-plugin插件執(zhí)行原理,我們就需要來研究下Executor,ParameterHandler,ResultSetHandler,StatementHandler這4個對象的具體跟sql相關的方法,然后再進行修改,就可以直接起到aop的作用,需要的朋友可以參考下
    2022-10-10
  • Java 覆蓋equals時總要覆蓋hashcode

    Java 覆蓋equals時總要覆蓋hashcode

    這篇文章主要介紹了Java 覆蓋equals時總要覆蓋hashcode的相關資料,這里附有實例代碼,具有參考價值,需要的朋友可以參考下
    2016-12-12
  • Java根據(jù)模板導出Excel報表并復制模板生成多個Sheet頁

    Java根據(jù)模板導出Excel報表并復制模板生成多個Sheet頁

    本文主要介紹了Java根據(jù)模板導出Excel報表并復制模板生成多個Sheet頁的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • SpringCloud?Feign實現(xiàn)微服務之間相互請求問題

    SpringCloud?Feign實現(xiàn)微服務之間相互請求問題

    Feign是Netflix開發(fā)的聲明式、模板化的HTTP客戶端,?Feign可以幫助我們更快捷、優(yōu)雅地實現(xiàn)微服務之間的調(diào)用,這篇文章主要介紹了SpringCloud?Feign實現(xiàn)微服務之間相互請求,需要的朋友可以參考下
    2022-06-06
  • Java8通過Function獲取字段名的步驟

    Java8通過Function獲取字段名的步驟

    這篇文章主要介紹了Java8通過Function獲取字段名,需要的朋友可以參考下
    2020-04-04
  • 詳解java中的byte類型

    詳解java中的byte類型

    Java也提供了一個byte數(shù)據(jù)類型,并且是基本類型。java byte是做為最小的數(shù)字來處理的,因此它的值域被定義為-128~127,也就是signed byte。下面這篇文章主要給大家介紹了關于java中byte類型的相關資料,需要的朋友可以參考下。
    2017-02-02
  • JDK1.8中的ConcurrentHashMap使用及場景分析

    JDK1.8中的ConcurrentHashMap使用及場景分析

    這篇文章主要介紹了JDK1.8中的ConcurrentHashMap使用及場景分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java詳解Swing中的幾種常用按鈕的使用

    Java詳解Swing中的幾種常用按鈕的使用

    這篇文章主要介紹了怎么用Java來創(chuàng)建和使用Swing中的幾種常用按鈕,按鈕是我們經(jīng)常要用的工具,但是你有想過自己怎么去實現(xiàn)它嗎,感興趣的朋友跟隨文章往下看看吧
    2022-04-04
  • java保留小數(shù)的四種實現(xiàn)方法

    java保留小數(shù)的四種實現(xiàn)方法

    這篇文章主要為大家詳細介紹了java保留小數(shù)的四種實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評論

洞头县| 正阳县| 凤台县| 汝阳县| 抚顺县| 鸡泽县| 昌宁县| 武陟县| 探索| 林西县| 三河市| 镇远县| 河源市| 博野县| 丰都县| 清流县| 安徽省| 浠水县| 名山县| 益阳市| 丹棱县| 屏山县| 郁南县| 龙里县| 荔浦县| 内黄县| 垣曲县| 和田县| 平果县| 余干县| 凉城县| 金沙县| 桐乡市| 凤庆县| 永仁县| 晋中市| 虞城县| 鸡西市| 洛南县| 安丘市| 长沙县|