1. 程式人生 > >深入理解Spring4框架(一) 簡介

深入理解Spring4框架(一) 簡介

                       
 

我們共同來構建更好的企業應用。Spring幫助全世界的開發團隊構建簡單、便攜、快速和靈活的基於JVM的系統和應用。這兩句話已經足以說明Spring的目標,它針對的領域是企業應用,這套框架構建的應用有著簡單、便攜、快速和靈活的特點。與EJB(Enterprise JavaBean,一個基於Java平臺的服務端元件框架)相比,它是一個輕量級的應用開發平臺。

1、適合人群

  本系列文章適合對Spring框架有使用經驗的技術人員,或者對Spring有一定了解的初學者。

2、Spring的目標是什麼?

  Spring官方主頁(http://spring.io)有兩句話:

 

  Let’s build a better Enterprise. 
    我們共同來構建更好的企業應用。
 

    Spring helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications. 
    Spring幫助全世界的開發團隊構建簡單、便攜、快速和靈活的基於JVM的系統和應用。

  這兩句話已經足以說明Spring的目標,它針對的領域是企業應用,這套框架構建的應用有著簡單、便攜、快速和靈活的特點。與EJB(Enterprise JavaBean,一個基於Java平臺的服務端元件框架)相比,它是一個輕量級的應用開發平臺。

3、認識Spring

  Spring是一個企業級應用開發平臺,到目前為止,圍繞它有一個較為完整且成熟的應用開發生態圈,在這個生態圈中,除了Spring核心專案以外,還有很多子專案。因此,理論上,可以使用Spring的生態圈技術來開發一套完整的應用系統。

  儘管JDK提供了豐富的開發功能,但是它很難將一些基礎的元件塊構建成一個完整的框架,它把這個任務交給了開發者和工程師。儘管開發人員可以利用工廠、抽象工廠、建立者、裝飾器等設計模式將這些元件組合起來,但是其中的工作量是相當巨大的,特別是對於中小企業來說,根本沒有那麼多資源來做這件事情。而Spring框架已經幫我們做好了這一切,Spring框架的控制反轉(IoC, Inversion of Control)元件以標準化的方式將這些分散的元件組合到一起,Spring使用了規範的設計模式,很容易將它整合到應用系統中。當前,大量的企業和機構在使用Spring框架。

4、Spring的模組

這裡寫圖片描述

  如上圖所示,Spring由20多個模組組成,它們可以分為核心容器(Core Container)、資料訪問/整合(Data Access/Integration)、Web、面向切面程式設計(AOP, Aspect Oriented Programming)、裝置(Instrumentation)、訊息傳送(Messaging)和測試(Test)。

4.1 核心容器

  核心容器包含spring-core、spring-beans、spring-context、spring-context-support和spring-expression (Spring Expression Language,Spring表示式語音)這些模組。

  spring-core和spring-beans構成了框架最基礎的部分,包括控制反轉和依賴注入功能。BeanFactory是工廠模式的一個很成熟的實現。

  spring-context是基於spring-core和spring-beans構建的,它提供了一種以框架風格來訪問物件的方式,類似於JNDI註冊。ApplicationContext介面是spring-context的焦點。spring-context-support為整合第三方庫(如定時器Quartz)提供支援。spring-expression提供了一種強大的表示式語言,可以在執行時查詢和操作物件。

4.2 AOP和裝置

  spring-aop模組提供了一個AOP面向切面程式設計的實現。比如,允許開發者定義方法攔截器和切入點,以此來將業務邏輯和系統服務進行解耦。

  spring-aspects模組提供與AspectJ的整合。

  spring-instrument模組提供了在普通應用伺服器中使用到的類裝置支援和載入器實現。spring-instrument-tomcat模組包含了Spring的Tomcat裝置代理。

4.3 訊息傳送

  Spring 4包含了一個spring-messaging模組,它對Spring整合專案Message、MessageChannel和MessageHandler進行了重要的抽象,它是基於訊息傳送應用的基礎。

4.4 資料訪問/整合

  資料訪問/整合層包含JDBC(spring-jdbc)、ORM(spring-orm)、OXM(spring-oxm)、JMS(spring-jms)和事務(spring-tx)模組。

4.5 Web

  Web層包含spring-web、spring-webmvc、spring-websocket和spring-webmvc-portlet模組。其中,spring-web提供了面向Web整合的基本特性,比如檔案上傳功能。Spring-webmvc模組包含了Spring的MVC和REST Web Service實現。Spring-webmvc-portlet模組提供了在Portlet環境下的MVC實現。

4.6 測試

  Spring-test模組支援Spring組建JUnit和TestNG的單元測試和整合測試。

5、為何使用Spring?

  Spring的IOC和AOP兩大核心功能可以大大降低應用系統的耦合性、簡化開發流程。    

  Spring框架技術可在不同層次上起作用,比如IOC管理普通的POJO物件、AOP增強了系統服務和其它元件(事務、MVC、JDBC、ORM和遠端呼叫等)。Spring的一大特點就是基於介面程式設計,它是非侵入式的服務。使用者端繫結介面使用JAVA EE服務,而非直接繫結服務,而且應用也可以使用不同的服務(Hibernate、MyBatis等)。我們可以根據自己的需要,使用Spring的一部分服務,而不必使用完整的Spring系列專案。

           

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow