Spring 概述

一、鸟瞰图

二、组件

1、 核心容器

  1. spring-core, spring-beans
    这两个模块是Spring的基石,里面包括了IOC,BeanFactory等核心概念。
  2. spring-context
    构建与core和bean基础之上,主要是提供了供程序员使用的ApplicationContext。

  3. spring-expression
    强大的表达式语言,供Spring对于各种文件中变量的访问和操控。

2、AOP和instrument

  1. spring-aop
    提供了符合Alliance标准的面向切面编程的实现。允许定义方法拦截器和切入点,干净的解耦业务代码和切面代码。
  2. spring-aspects
    提供与AspectJ的集成
  3. spring-instrument
    模块提供了在某些应用程序服务器中使用的类检测支持和类加载器实现。 spring-instrument-tomcat 模块包含Spring的Tomcat检测代理。

3、Web

  1. spring-web
    提供基本的面向Web的集成功能,例如多部分文件上载功能以及使用Servlet侦听器和面向Web的应用程序上下文初始化IoC容器。它还包含一个HTTP客户端以及Spring的远程支持的Web相关部分
  2. spring-webmvc
    就是我们经常使用spingMVC
  3. spring-webmvc-portlet
    portlet 环境下的springMVC,我没用过。
  4. spring-websocket
    websocket 和spring的集成,使用起来很方便。

4、数据访问/集成

  1. spring-jdbc
    提供了一个 JDBC -abstraction层,无需进行繁琐的JDBC编码和解析数据库供应商特定的错误代码。
  2. spring-tx
    spirng 的事务
  3. spring-orm,
    将常规的ORM框架和spring集成,包括JPA JDO Hibernate
  4. spring-oxm
    提供了一个支持 Object/XML mapping 实现的抽象层,例如JAXB,Castor,XMLBeans,JiBX和XStream。
  5. spring-jms
    包含用于生成和使用消息的功能。从Spring Framework 4.1开始,它提供了与 spring-messaging 模块的集成。

5、测试

spring-test 模块支持带有JUnit或TestNG的Spring组件的 unit testing 和 integration testing 。它提供了一致的 ApplicationContext 的Spring ApplicationContext 和 caching 这些上下文。它还提供 mock objects ,您可以使用它来单独测试代码。