Spring主要用到兩種設計模式


Spring主要用到兩種設計模式

 

1、工廠模式

Spring容器就是實例化和管理全部Bean的工廠。

工廠模式可以將Java對象的調用者從被調用者的實現邏輯中分離出來。

調用者只關心被調用者必須滿足的某種規則,這里的規則我們可以看做是接口,而不必關心實例的具體實現過程,具體實現由Bean工廠完成。

2、單例模式

   Spring默認將所有的Bean設置為單例模式,即對所有相同的Bean請求,都將返回同一個共享Bean實例,這樣就可以大大減低Java對象創建和銷毀時的系統開銷。

使用SpringBean設置為單例模式,則無需自己完成單例模式。

 

 

實例:

Ink.Java

 

package com.pb;


/**   
*    
* 項目名稱:PB_SpringDemo   
* 類名稱:Ink   
* 類描述:   墨盒接口
* 創建人:Administrator   
* 創建時間:2019年7月6日 下午3:05:06   
* 修改人:Administrator   
* 修改時間:2019年7月6日 下午3:05:06   
* 修改備注:   
* @version    
*    
*/
public interface Ink {
	//獲取墨盒顏色的方法
	public String getColor();
}

 

  

ColorInk.Java

package com.pb;

public class ColorInk implements Ink {
	@Override
   public String getColor() {
	   return "使用彩色墨盒打印";
   }
}

GreyInk.Java

package com.pb;

public class GreyInk implements Ink {
  @Override
  public String getColor()
  {
	  return "采用黑色墨盒打印";
  }
}

  

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
	<bean id="color" class="com.pb.ColorInk"/>
	<bean id="grey" class="com.pb.GreyInk"/>
</beans>

Test.Java

//使用Spring的方式
		//創建Spring上下文
		ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
		
		//測試Spring工廠模式
		Ink k1=null;
		k1=(Ink)context.getBean("color");
		System.out.println(k1.getColor());
		
		Ink k2=(Ink)context.getBean("grey");
		System.out.println(k2.getColor());
		
		Ink k11=(Ink)context.getBean("color");//驗證是否是單例模式
		System.out.println(k1==k11);//輸出 True,表示這個生成的是單例模式,同一個實例對象

  運行效果

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: