spring framework 模块简介

        经常使用spring ,偶尔也看看了spring 一些分析,本文是对spring framework的模块进行简单介绍,方便加深理解和以后查找,主要是对spring framework reference文档的引用和翻译。

        spring 主要有20个模块组成,这些模块封装在core container(核心)层,data aceess/intergration 层(数据访问),web层(网页),aop层(切面编程),Instrumentation层(工具),Messaging层(消息JMS) 这六层,还有测试层。下面是spring framework模块结构图。

200430_XDu5_2563693.png

spring core container

       spring core container主要有 spring-beans,spring-core,spring-context,spring-context-support,

spring-expression组成。

      spring-beanspring-core提供了spring framework 框架的基础核心功能,包括依赖注入(IOC)和控制反转(DI)。BeanFactory 是工程模式的复杂实现,它不需要通过编程实现单例,可以让你将业务逻辑中的依赖关系和配置解耦出来。

      spring-context 模块建立在 spring-beans,spring-core 坚固基础上。它提供了一种类似注册JNDI的访问spring容器内对象的手段,context 模块继承beans 模块的特性并增加国际化支持(例如:资源绑定)。事件传播,资源加载,透明创建context。例如,一个servlet容器,context模块同样支持Java ee的特性。如EJB,JMX 和远程调用。applicationContext 接口是是context模块的核心。spring-context-support 整合缓存(EHCache,Guava,Jcache),邮件(javaMail),定时任务(commonJ,quartz)和模板引(freemarker,jasperReport,velocity)这些常用第三方框架。

    spring-expression 模块提供在运行时,查询、操作对象的强大表达式语言,它是对JSP2.1规范统一EL标准的扩展实现,该表达式语言支持设置和获取对象属性值,属性初始化,方法调用,访问数组,列表,集合内容,支持逻辑和算术运算操作,设置变量,从spring IOC 容器中根据变量名称获取对象的值。同样支持list 投影和选择和列表聚合。

aop and instrumentation

       spring-aop 模块实现允许自定义面向切面编程。如方法拦截,解耦分离函数代码,使用源代码级别的元数据功能,你可以行为信息写在代码中类似在.net attributes管理。

       spring-aspect模块整合第三方库AspectJ

       spring-instrument模块提供class整合支持和在包含应用服务器中使用的类加载器。spring-instrument-tomcat 模块对tomcat容器的代理。


messaging

spring framework 4 包含了 spring-messaging 模块,是从spring intergration项目抽象出 如Message,MessageChannel,MessageHandler,和其他的服务器的基础信息应用。该模块同时包含了一些用来映射消息到方法的注解,就行spring mvc 编程模型的注解。


data access/integration

    data access/integration 层由JDBC,ORM,OXM,JMS 和transaction 模块组成。

    spring-jdbc 模块对jdbc抽象出来,移除了jdbc数据库操作的重复的编码和解析不同数据库厂商的错误代码。

    spring-tx 模块实现对特定接口或POJOS对象提供编程方式和声明方式的事务管理。

    spring-orm整合了流行的ORM(对象关系映射)框架,包括JPA,JDO,和hibernate,使用这些框架后同时可以使用spring-orm模块的其它的特性。如声明事务管理特性。

     spring-oxm 模块整合了对xml第三方框架如JAXB,CASTOR,XMLBeans,JiBx 和XStream.

     spring-jms 模块提供包含生产和消费消息特性。从4.1版本开始它和整合了spring-messaging模块。

    

 web

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

       spring-web提供诸如文件上传 使用servlet lislener 初始化IoC容器,和一个web方面的 application context等基础特性,同时包含一个http客户端和web相关的spring远程支持。

       spring-webmvc 模块(也叫spring-servlet模块)包含了spring实现的 mvc  和 REST 风格的web服务的实现,spring 的mvc框架清晰的隔离了domain model 代码和web表单代码,并整合了所有spring其他的特性。

       spring-webmvc-porltet 模块(也叫spring-portlet模块)在portlet环境下使用spring-mvc和spirng-webMvc模块的其他基础功能。


英语水平有限,错误难免,请指正





转载于:https://my.oschina.net/u/2563693/blog/658831

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值