一、Spring框架的由来
Spring是一个企业应用轻量级Java开发框架,由Rod Johson创建,模块化,可以引用其中一部分。
1.1 Spring的体系结构
Spring目前已经集成了20多个模块,这些模块分为,核心容器,数据访问,Web,AOP,Instrumentation,Messaging等。
二、Spring模块
2.1 核心容器
核心容器由spring-core、spring-beans、spring-context、spring-expression、spring-context-support五个模块组成。
spring-core模块:提供了框架的基本组成部分,包括控制反转和依赖注入功能。
spring-beans模块:提供了BeanFactory,免除了用户手动创建单例类并且对象之间解耦。
spring-context模块:在core和beans模块的基础上,能够访问对象,是访问定义和配置的任何对象的媒介。ApplicationContext接口是context模块的焦点。
spring-context-support模块:支持第三方库到spring应用程序上下文。比如缓存和任务调度。
spring-expression模块:提供了强有力的运行时查询和操作对象的语言。这种语言支持获取和设置属性、方法执行、获取数组或集合中的对象、逻辑计算、命名变量,在spring的Ioc容器中获取对象。
2.2 AOP和Instrumentation
spring-aop模块:提供了切面编程的实现,可以自定义方法拦截和切入点。
spring-aspects模块:提供于Aspects的集成。
spring-instrument模块:为特定的服务器提供类加载服务。spring-instrument模块是集成了Tomcat。
2.3 消息(Messaging)
spring-messaging模块:主要类由Message,MessageChannel,MessageHandler。这个模块还包含一些映射消息到方法的注解。
2.4 数据访问/集成(Date Access/Integeration)
这一层由JDBC、ORM、OXM、JMS、和事务模块组成。
spring-jdbc模块:主要为了解决数据库繁多的问题,应用此可不需要关注使用的数据库。
spring-tx模块:提供了编程式或声明式事务处理
spring-orm模块:提供流行的对象关系映射的APIs,包含JPA和HIbernate。
spring-oxm模块:提供对Object/XML映射的支持。
spring-jms模块:包含生成和消费消息的功能
2.5 Web
Web层由spring-web、spring-webmvc、spring-websocket和portlet模块组成。
spring-web模块:提供了面向Web方法的集成特性。
spring-webmvc模块:包含SpringMVC框架。
spring-websocket模块:提供了对sokect的支持。
Portlet模块:类似于Servlet模块的功能,提供了Portlet环境下的MVC实现。
2.6 测试
spring-test模块:通过JUnit或者TestNG来对Spring的模块进行单元测试和集成测试。