1. 程式人生 > >spring的設計模式模式

spring的設計模式模式

spring中的設計模式

Spring框架是由於軟體開發的複雜性而建立的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限於伺服器端的開發。從簡單性、可測試性和鬆耦合性角度而言,絕大部分Java應用都可以從Spring中受益。

◆目的:解決企業應用開發的複雜性

◆功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能

◆範圍:任何Java應用

Spring是一個輕量級控制反轉(IoC)和麵向切面(AOP)的容器框架

那麼spring中用到了那些設計模式呢?

a. 單例模式---------spring中兩種代理方式,若物件實現了若干介面,spring使用jdk的java.lang。reflect.Proxy類代理。若目標物件沒有實現任何介面,spring使用CGLIB生成目標類的子類。 此單例模式為非執行緒安全的。

b.模板方式模式------用來解決程式碼重複的問題。 比如:RestTemolate·JmsTemplate

c.工廠模式-------在工廠模式中,我們建立物件時不會對客戶端暴露出建立邏輯,並且通過介面指向新建立的物件。Spring中用beanFactory來建立物件例項。

d.依賴注入---------貫穿於BeanFactory/ApplacationContext介面的核心理念。

**

單例模式

**定義:保證一個類僅有一個例項,並提供一個訪問它的全域性訪問點。

  1. 餓漢模式 public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){ } public static Singleton getInstance() { return instance; } }

  2. 懶漢模式(執行緒安全)

public class Singleton {  
      private static Singleton instance;  
      private Singleton (){
      }
      public static synchronized Singleton getInstance() {  
      if (instance == null) {  
          instance = new Singleton();  
      }  
      return instance;  
      }  
 }