從今天開始,從新總結一下Spring的相關知識,主要是結合《Spring實戰(第四版)》和 《JavaEE開發的顛覆者——SpringBoot實戰》這兩本書以及官方文檔,同時加入本身的一點點點小小小理解,若有不當之處,還請指正。數據庫
Spring框架是一個輕量級的企業級開發的一站式解決方案,所謂解決方案就是能夠基於Spring解決JavaEE開發的全部問題。編程
事實上,Spring也確實在不斷朝這個方向努力,從官方上列出的Spring產品就能夠看出,同時這也反映出 Spring最根本的使命:簡化Java開發。網絡
爲了簡化Java開發,Spring框架全部功能的設計和實現都基於四大原則:架構
(1)使用POJO進行輕量級和最小侵入式開發mvc
(2)經過依賴注入和基於接口編程實現鬆耦合框架
(3)經過AOP和默認習慣進行聲明式編程模塊化
(4)使用AOP和模板(template)減小模式化代碼工具
Spring是模塊化的,這意味着你能夠只使用你須要的 Spring 的模塊。大數據
圖 1.1 Spring框架由6個定義良好的模塊分類組成優化
1 | Spring-Core | 核心工具類,Spring其餘模塊大量使用Spring-Core; |
2 | Spring-Bean | Spring定義Bean的支持; |
3 | Spring-Context | 運行時Spring容器; |
4 | Spring-Context-Support | Spring容器對第三方包的集成支持; |
5 | Spring-Expression | 使用表達式語言在運行時查詢和操做對象。 |
1 | Spring-AOP | 基於代理的AOP支持 |
2 | Spring-Aspects | 基於AspectJ的AOP支持 |
Spring-Messaging :對消息架構和協議的支持。
1 | Spring-Web | 提供基礎的Web集成的功能,在Web項目中提供Spring的容器。 |
2 | Spring-Webmvc | 提供基於Servlet的Spring MVC |
3 | Spring-WebSocket | 提供WebSocket |
4 | Spring-Webmvc-Portlet | 提供Portlet環境支持 |
1 | Spring-JDBC | 提供以JDBC訪問數據庫的支持 |
2 | Spring-TX | 提供編程式和聲明式的事務支持 |
3 | Spring-ORM | 提供對對象/關係映射技術的支持 |
4 | Spring-OXM | 提供對對象/XML映射技術的支持 |
5 | Spring-JMS | 提供對JMS的支持 |
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實戰》