長期以來都在寫SSM框架的項(xiàng)目,卻未能深入理解框架的搭建原理,而只是淺薄的理解前輩的架構(gòu),然后不斷套用,項(xiàng)目做過幾個(gè),但框架的內(nèi)涵卻沒有把握。小編打算今天從SpringMVC的依賴分析做起,一步步進(jìn)行系統(tǒng)化學(xué)習(xí)。
從springFramework的官方文檔入手:
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#overview-getting-started-with-spring
如上為spring框架的的組件構(gòu)成圖。
一、核心部分Core Container,
由spring-core, spring-beans, spring-context, spring-context-support, 和spring-expression 構(gòu)成。
1.spring-core, spring-beans提供控制反轉(zhuǎn)和依賴注入功能,
2.spring-context類似jndi注冊(cè)處,提供資源綁定加載,事件廣播,還有EJB, JMX, 和basic remoting等javaEE特征
3.spring-context-support提供第三方庫集成到spring應(yīng)用,如緩存 caching (EhCache, Guava, JCache), 郵件mailing (JavaMail), 計(jì)劃任務(wù)scheduling
(CommonJ, Quartz) 和模板引擎template engines (FreeMarker, JasperReports, Velocity)
4.spring-expression 類似EL語言,是對(duì)EL的一種擴(kuò)展
二、Aop和Instrumentation部分,
由spring-aop,spring-aspects,spring-instrument,spring-instrument-tomcat構(gòu)成。
1.spring-aop允許開發(fā)者定義方法攔截器和切點(diǎn)
2.spring-aspects用于aspectj面向切面編程的集成,
3.spring-instrument用于集成特定容器,
4.spring-instrument-tomcat提供tomcat的集成
三、Messaging部分,
由spring-messaging構(gòu)成。