文章目录
1、spring核心组件图
2、jar包核心组件
2.1 核心容器core
spring-core和spring-beans
ioc控制反转(inversion of control)和依赖注入
spring-context
给spring-core和spring-beans提供一些支持性的功能模块EJB,JMX,JNDI,scheduling(任务调度).cache缓存,RMI远程调用
spring-context-support
提供一些第三方库,支持缓存等(如caching (EhCache, Guava, JCache), mailing (JavaMail), scheduling (CommonJ, Quartz) and template
engines (FreeMarker, JasperReports, Velocity))
spring-expression
spring的表达语言,提供如spring-el表达式的支持
2.2 Aop 切面编程
spring-aop
提供了面向切面编程的实现,它允许你定义拦截器 (interceptors) 和 切点 (pointcuts),用以解耦(decouple) 关注点不同的代码。
spring-aspects
整合了 Java 最强大的一个 AOP 库:AspectJ.
spring-instrument
JVM添加代理的功能,提供了用于某些应用程序服务器的类工具支持和类加载器实现.
spring-instrument-tomcat
Spring’s instrumentation agent for Tomcat.,代理tomcat
2.3 Messaging消息
spring-messaging
spring的消息模块,提供消息基础功能,Message,MessageChannel,MessageHandler,类似于基于SpringMVC注释的编程模型。
2.4 Data Access提供数据访问的功能,
spring-jdbc
提供一些jdbc,数据源的简单封装, 结果映射,参数处理,连接池管理等。如:JdbcTemplate,DataSourceTransactionManager,DataSourceUtils等等
spring-tx
提供事务管理,
spring-orm
提供jps和hibernate的spring支持性功能
spring-oxm
提供Java对象(几乎总是一个plainoldJavaobject,或简写为POJO)和XML文档之间来回转换。
spring-jms
2.5 web 模块
spring-web
核心是一下http继承,servlet过滤器等基础web框架技术
spring-webmvc
spring-webmvc依赖spring- web,对spring MVC的支持,包括一些view层的核心封装
2.6 测试test模块
spring-test
提供spring的单元测试功能