標籤:order spring架構 社交網路 spring容器 知識 語言 ESS lda 開發
一、前言
從今天開始,重新總結一下Spring的相關知識,主要是結合《Spring實戰(第四版)》和 《JavaEE開發的顛覆者——SpringBoot實戰》這兩本書以及官方文檔,同時加入自己的一點點點小小小理解,如有不當之處,還請指正。
二、Spring最根本的使命
Spring架構是一個輕量級的企業級開發的一站式解決方案,所謂解決方案就是可以基於Spring解決JavaEE開發的所有問題。
事實上,Spring也確實在不斷朝這個方向努力,從官方上列出的Spring產品就可以看出,同時這也反映出 Spring最根本的使命:簡化Java開發。
三、Spring架構的四大原則
為了簡化Java開發,Spring架構所有功能的設計和實現都基於四大原則:
(1)使用POJO進行輕量級和最小侵入式開發
(2)通過依賴注入和基於介面編程實現松耦合
(3)通過AOP和預設習慣進行聲明式編程
(4)使用AOP和模板(template)減少模式化代碼
四、Spring 的六大模組
Spring是模組化的,這意味著你可以只使用你需要的 Spring 的模組。
圖 1.1 Spring架構由6個定義良好的模組分類組成
1.核心容器(Core Container)
| 1 |
Spring-Core |
核心工具類,Spring其他模組大量使用Spring-Core; |
| 2 |
Spring-Bean |
Spring定義Bean的支援; |
| 3 |
Spring-Context |
運行時Spring容器; |
| 4 |
Spring-Context-Support |
Spring容器對第三方包的整合支援; |
| 5 |
Spring-Expression |
使用運算式語言在運行時查詢和操作對象。 |
2.AOP
| 1 |
Spring-AOP |
基於代理的AOP支援 |
| 2 |
Spring-Aspects |
基於AspectJ的AOP支援 |
3.訊息(Messaging)
Spring-Messaging :對訊息架構和協議的支援。
4.Web
| 1 |
Spring-Web |
提供基礎的Web整合的功能,在Web項目中提供Spring的容器。 |
| 2 |
Spring-Webmvc |
提供基於Servlet的Spring MVC |
| 3 |
Spring-WebSocket |
提供WebSocket |
| 4 |
Spring-Webmvc-Portlet |
提供Portlet環境支援 |
4.資料訪問/整合(Data Acess / Integration)
| 1 |
Spring-JDBC |
提供以JDBC訪問資料庫的支援 |
| 2 |
Spring-TX |
提供編程式和聲明式的事務支援 |
| 3 |
Spring-ORM |
提供對對象/關係映射技術的支援 |
| 4 |
Spring-OXM |
提供對對象/XML映射技術的支援 |
| 5 |
Spring-JMS |
提供對JMS的支援 |
五、Spring的生態
| 1 |
Spring Boot |
使用預設開發配置來實現快速開發 |
| 2 |
Spring XD |
用來簡化大資料應用開發 |
| 3 |
Spring Cloud |
為分部式系統開發提供工具集 |
| 4 |
Spring Data |
對主流的關係型和NoSQL資料庫的支援 |
| 5 |
Spring Integration |
通過訊息機制對企業整合模式(EIP)的支援 |
| 6 |
Spring Batch |
簡化及最佳化大量資料的批處理操作 |
| 7 |
Spring Security |
通過認證和授權保護應用 |
| 8 |
Spring HATEOAS |
基於HATEOAS原則簡化了REST服務開發 |
| 9 |
Spring Social |
與社交網路API(如Faceook、新浪微博、QQ等)的整合 |
| 10 |
Spring AMQP |
對基於AMQP的訊息的支援 |
| 11 |
Spring Mobile |
提供對手機裝置檢測的功能,給不同的裝置返回不同的頁面的支援 |
| 12 |
Spring for Android |
主要提供在Android上消費RESTful API的功能 |
| 13 |
Spring Web Flow |
基於Spring MVC提供基於嚮導流程式的Web應用開發 |
| 14 |
Spring Web Services |
提供了基於協議有限的SOAP/Web服務 |
| 15 |
Spring LDAP |
簡化使用LDAP開發 |
| 16 |
Spring Session |
提供一個API及實現來系統管理使用者會話資訊 |
六、參考資料
1.《Spring實戰(第四版)》
2.《JavaEE開發的顛覆者——SpringBoot實戰》
Spring_總結_01_Spring概述