【Spring系列】——Spring Framework简介(二)

来源:互联网 发布:b超单上的数据怎么看 编辑:程序博客网 时间:2024/05/22 06:06

目录

    • 目录
    • Core Container
    • AOP and Instrumentation
    • Messaging
    • Data AccessIntegration
    • Web
    • Test

Core Container

Core Container由spring-core,spring-beans,spring-context,spring-context-support,and spring-expression这些模块组成。

spring-core,spring-beans是该框架的基础部分,包含IOC和DI功能。BeanFactory 实现了工厂模式。它消除了对单例的需要,并允许您将依赖关系的配置和规范与实际的逻辑程序相分离。

spring-context基于core和beans模块提供基础,它是以类似于JNDI注册的框架式方式访问对象的一种方法。context模块继承了beans模块的特点,并提供了对国际化,事务传播,资源加载,通过servlet 容器透明的创建上下文。context模块也支持Java EE的特性,例如EJB,JMX 和远程。ApplicationContext接口是Context模块的重要部分,spring-context-support对整合常见的第三方库集成到spring应用程序上下文中提供了支持,尤其是对缓存和调度的支持。

spring-expression模块提供了一种强大的表达式语言,能够在运行时查询和操作一个对象图表。它是JSP2.1规范中规定的统一表达式语言的扩展。该语言提供了设置和获取属性值,属性分配,方法调用,访问数组、集合和索引器的内容,逻辑和算数运算符,变量命名,以及从Spring的IOC容器中通过名称检索对象。它还支持列表投影和选择以及常见列表聚合。

AOP and Instrumentation

spring-aop提供了符合联盟规定的面向切面编程实现的,允许你定义一个方法拦截器和切入点,用于分离功能代码,使用源级元数据功能,你可以以类似于.net属性的方式将行为信息合并到代码中。

单独的spring-aspects模块,提供了与AspectJ的集成。

spring-instrumentation模块提供了在某些应该服务器中使用类加载器的实现。spring-instrument-tomcat模块包含spring的Tomcat测试代理。

Messaging

Spring Framework4包含spring消息传递模块,包含springIntegration项目的抽象,如message,MessageChannel,MessageHandler,和其他作为基于消息传递的应用程序的基础,该模块还包括一组用于消息映射到方法的注解,类似于基于Spring MVC注解的编程模型。

Data Access/Integration

数据访问层包含JDBC,ORM,OXM,JMS和Transaction模块。

spring的jdbc模块提供了一个jdbc抽象层,消除了冗长的JDBC编码和解析数据库供应商特定错误代码的需要。

spring的tx模块支持用于实现特殊接口和所有POJO的类的程序化和声明式事务管理。

spring的orm模块提供了用于对象关系映射的API集成层,例如JPA和Hibernate。使用spring的ORM模块,你可以使用这些ORM框架与Spring提供的其他所有功能结合使用,例如前面提到的声明式事务管理功能。

spring的oxm模块,提供了一个支持Object/XML映射实现的抽象层,如JAXB,Castor,JiBX和XStream。

Spring的JMS模块包含用于生产和使用消息的功能,自Spring Framework4.1以来,它提供了与Spring-messaging模块的集成。

Web

Web层由spring-web,spring-webmvc,spring-websocket模块组成。

spring-web模块提供了基本的面向web的集成功能,例如文件上传功能,使用servlet监听器和面向web的应用程序赏析问来初始化IOC容器。它还包含了一个HTTP客户端和Spring的远程支持的web相关部分。

spring-webmvc模块包含用于web应用程序的Spring的模型视图控制器(MVC)和Rest Web Services实现。Spring 的MVC框架提供了领域模型代码和web表单之间的彻底分离,并与Spring框架的所有其他功能进行集成。

Test

Spring的测试模块支持使用Junit或者TestNG对Spring组件进行单元测试和集成测试。

0 0
原创粉丝点击