長期以來都在寫SSM框架的項目,卻未能深入理解框架的搭建原理,而只是淺薄的理解前輩的架構,然后不斷套用,項目做過幾個,但框架的內涵卻沒有把握。小編打算今天從SpringMVC的依賴分析做起,一步步進行系統化學習。
從springFramework的官方文檔入手:
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#overview-getting-started-with-spring

如上為spring框架的的組件構成圖。
一、核心部分Core Container,
由spring-core, spring-beans, spring-context, spring-context-support, 和spring-expression 構成。
1.spring-core, spring-beans提供控制反轉和依賴注入功能,
2.spring-context類似jndi注冊處,提供資源綁定加載,事件廣播,還有EJB, JMX, 和basic remoting等javaEE特征
3.spring-context-support提供第三方庫集成到spring應用,如緩存 caching (EhCache, Guava, JCache), 郵件mailing (JavaMail), 計划任務scheduling
(CommonJ, Quartz) 和模板引擎template engines (FreeMarker, JasperReports, Velocity)
4.spring-expression 類似EL語言,是對EL的一種擴展
二、Aop和Instrumentation部分,
由spring-aop,spring-aspects,spring-instrument,spring-instrument-tomcat構成。
1.spring-aop允許開發者定義方法攔截器和切點
2.spring-aspects用於aspectj面向切面編程的集成,
3.spring-instrument用於集成特定容器,
4.spring-instrument-tomcat提供tomcat的集成
三、Messaging部分,
由spring-messaging構成。
spring-messaging與一些基於消息的應用的集成,提供一些消息相關的注解
四、The Data Access/Integration部分,
由spring-jdbc,spring-tx,spring-orm,spring-oxm,spring-jms構成。
1.spring-jdbc使你免於編寫數據庫連接代碼
2.spring-tx提供事務管理,
3.spring-orm允許開發者使用O/R對象關系映射框架,和上面提到的事務管理,
4.spring-oxm允許將spring-orm抽象成XML映射,即以xml文件來描述映射,
5.spring-jmsJAVA消息服務,生成和消費消息,與spring-messaging集成
五、WEB層,
由spring-web, spring-webmvc, spring-websocket, spring-webmvc-portlet構成 。
1.spring-web包含http客戶端,多文件上傳,利用監聽器進行ioc容器初始化,提供應用上下文等功能
2.spring-webmvc提供MVC和REST WEB服務實現
3.spring-webmvc-portlet允許spring-webmvc用於Portlet組件環境(插件式管理)
通過以上對spring框架各個模塊的解讀,大家就可以根據自己的項目需求進行相應的jar包導入了
