天天看點

spring深入淺出核心技術

Spring是一個開源分層的Java SE/Java EE的應用式一站式輕量級架構, 它的核心就是Ioc/Aop

Spring的優點:

1.友善解耦,簡化開發,通過Spring提供的Ioc容器,把對象之間的依賴交由Spring控制.

2.Spring提供的功能,友善AOP面向切面程式設計.

3.聲明式事務的支援,靈活的進行事務的管理,提高寫出代碼的效率和品質,将代碼變得不再

臃腫.

4.對各類優秀架構的支援.

IOC依賴注入:

在傳統的程式設計中,我們需要用某個對象的方法時,需要用new建立對象來使用,而IOC就算将建立對象的過程交給spring架構來執行,也就是容器幫忙建立和注入依賴對象,我們的程式被動的接收IOC容器建立的對象,是以叫控制反轉.
           

Spring建立對象的例子:

  • 首先我們建立一個簡易的Dao層.
    spring深入淺出核心技術
  • 再建立一個簡易的Service層.
    spring深入淺出核心技術
  • 配置檔案(Bean.xml).
    spring深入淺出核心技術
    BeanFactory介紹:
  • BeanFactory是一個類工廠,和傳統的類工廠不同,傳統的類工廠僅負責構造一個類或幾個類的執行個體。而BeanFactory可以建立并管理各種類的對象,Spring稱這些被建立和管理的Java對象為Bean。

BeanFactory是一個接口,Spring為BeanFactory提供了多種實作,最常用的就是XmlBeanFactory。

BeanFactory接口最主要的方法就是getBean(String beanName),該方法從容器中傳回指定名稱的Bean。

  • BeanFactory的擷取對象的三種方式(getBean方法):
  • 1.根據name擷取對象
  • 2.根據實作的接口類型擷取,這個比較常用
  • 3.根據ID擷取對象
spring深入淺出核心技術

關于Bean的生命周期:

通過實作Bean的生命周期接口對Bean進行額外的一些控制,雖然具有一些優點,但是帶來了一個很嚴重的問題,我們的類必須實作這些接口,Bean和Spring緊密的結合在了一起,這就帶來了很大的麻煩。

是以我們一般不使用這些接口,而是通過< bean >的init-method和destory-method屬性來達到我們的初始化和銷毀效果,達到架構解耦的問題。

BeanPostProcessor接口是像插件一樣注冊到Spring容器中,使應用與架構解耦,同時可以為我們完成一些額外的功能。例如可以擷取動态代理,還有實作AOP功能。

利用Spring實作資料庫的增删改查(這裡用删除舉例):

  1. 引入依賴和配置檔案(注入有3種方法,這裡拿set方法注入)
    spring深入淺出核心技術
    spring深入淺出核心技術
  2. ,建立一個賬戶表和實體類 沒有用mybatis架構,先用DButils來實作,建立Dao層和實作類
spring深入淺出核心技術
  1. 建立Service層和實作類,在配置檔案已經注入建立對象
    spring深入淺出核心技術
    測試:
    spring深入淺出核心技術