转自:http://www.cnblogs.com/JSONBEAN/p/6364038.html
长期以来都在写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包导入了