Spring是全面的框架,同时也是模块化的框架。Spring有分层的体系结构,这意味着能使用它孤立的任何部分,它的内在架构仍然是稳定的。例如可仅仅使用Spring来简化JDBC的使用,或者用来管理所有的业务对象。
CoreContainer(核心容器)
即IOC容器,Beans和Core模块提供了框架的基础,包含依赖注入和控制反转功能,这两个模块的焦点是BeanFactory接口,他是对工厂模式的经典实现。使用它,不必再通过编程方式实现单例模式,同时解除了由对象间依赖带来的耦合。
Context(上下文)模块建立在Core和Beans模块提供的基础上,提供了通过名字查找对象的方式。
DataAccess/Integration(数据访问/集成)
JDBC提供了JDBC的抽象层,它可消除冗长的JDBC编码。JDBC还提供了一种比编程性更好的声明性事务管理方法。
ORM模块提供了常用的对象/关系映射框架的集成,包括JPA、JDO、Hibernate和iBatis。
OXM模块提供了一个抽象层,用于支持对象和XML映射的实现。
Transaction模式支持编程式的或声明式的事务管理,进行管理的类可以是实现了特定接口的类,也可以是普通java类。
Web
Web模块提供基本的面向Web的集成功能,同时包含Spring的远程访问支持部分。
Servlet模块包含Spring的MVC实现。Spring MVC分离了领域模型代码,表单数据,并将它们和Spring的其他特性集成在了一起。
AOP、Aspects、Instrumentation
Aop提供了符合规范的面向切面编程实现,我们可以定义方法拦截器和切入点,从而将通用功能性代码与业务逻辑完全分离。
Aspects模块提供了与AspectJ的集成。
Instrumentation提供了标准的仪表化支持和用于具体应用服务器的ClassLoader的实现
Test
用于支持Spring与JUnit或TestNG集成,从而方便快捷地对系统功能进行测试。
领取专属 10元无门槛券
私享最新 技术干货