Spring整体架构
Spring的整体架构
Core Container核心容器
Core、Bean模块是框架的基本部分,提供IOC\DI功能,基础概念是BeanFactory。
- Core模块主要包含Spring框架基本的核心工具类,Spring的其他组件都要用到这个包里的类。
- Benas模块是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行IOC\DI操作相关的所有类。
- Context模块构建于Core和Beans模块的基础上,提供了一种类似于JNDI注册起的矿机模式的对象访问方法。Context模块主要集成了Beans的特性,为Spring核心提供了大量扩展,添加了对国际化、事件传播、资源加载和对Context的透明创建支持。
- Expression Language模块提供了强大的表达式语言,用于在运行时查询和操作对象。
Data Access/Integration
- JDBC模块提供JDBC的抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。
- ORM模块为主流的对象-关系映射API。
- OXM模块提供了一个对Object/XML映射实现的抽象层,Object/XML映射实现包括JAXB、Castor、XMLBeans、XStream。
- JMS模块主要包含了一些制造和消费消息的特性。
- Transaction模块支持变成和声明性的事务管理,这些食物类必须实现特定的借口,并对所有POJO都适用。
WEB
- Wbe模块:提供了基础的面相WEB的集成特性,例如上传、初始化Ioc容器以及面上Web应用的上下文。
- Web-Servlet模块web.servlet.jar:该模块包含Spring和model-view-controller(MVC)实现。
- Web-Struts模块:该模块提供了对Struts的支持,使得类在Spring应用中能够与一个典型的StrutsWeb层集成在一起。Spring3.0中弃用。
- Web-Porlet模块:提供了用于Portlet环境和Web-Servlet模块的MVC实现。
AOP
- Aspects模块提供了对AspectJ的集成支持
- Instrumentation模块提供了class instrumentation支持和classloader实现,使得可以在特定的应用服务器上使用。
Test
主要支持TestNG和JUnit对Spring组件进行测试。