博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring模块
阅读量:5327 次
发布时间:2019-06-14

本文共 1998 字,大约阅读时间需要 6 分钟。

Spring大概有20个模块,它们被分组到Core Container、Data Access/Integration、Web、AOP、Instrumentation、Test。

1.   Core Container

Core Container由Core、Beans、Context、Expression Language四个模块组成。

Core和Beans

模块Core和Beans为整个Spring提供了基础部分,包括IoC和依赖注入功能。

BeanFactory是工厂模式的一个高级实现,它摒除了编程形式的单例,这就使得可以把配置和规范的依赖性从真实的程序逻辑中解偶。

Context

         Context构建于Core和Beans模块的基础之上,它是一种使用框架风格方式来访问对象的手段,这种方式有点类似于JNDI注册表。

         Context继承了Beans模块的功能,并且增加了对国际化(例如:资源束),事件传播,资源加载以及透明的上下文创建(例如:通过Servlet容器创建)。

         Context还支持JavaEE功能,例如EJB、JMX、基本的远程调用。

         ApplicationContext接口是Context模块的焦点。

Expression Language

         Expression Language模块提供一种强大的表达式语言来查询及操作运行时的对象图。

         Expression Language是对在JSP2.1规范中所规定的统一表达式语言的一种扩展。

         Expression Language支持设置/获取属性值、属性赋值、方法调用、访问上下文数组、集合及索引器、逻辑及算术操作、命名变量、通过名字从IoC容器中检索对象。它也支持列表投射及选择、列表聚合。

2.   Data Access/Integration

         Data Access/Integration由JDBC、ORM、OXM、JMS、Transaction五个模块组成。

JDBC

         JDBC模块提供一个JDBC抽象层,用以减少乏味的JDBC代码,也用于解析特定于数据库提供商的错误代码。

ORM

         ORM模块为流行的对象关系映射API提供一个集成层,支持的对象关系映射API包括JPA、JDO、Hibernate及iBatis。ORM包能让你使用所有这些O/R映射框架,且还能与Spring提供的其它功能进行混合,例如简单的声明式事务管理。

OXM

         OXM模块为JAXB、Castor、XMLBeans、JiBx及XStream的Object/XML映射实现提供一个抽象层。

JMS

         JMS包含了生产和消费消息的功能。

Transaction

         对于实现了特定接口的类以及所有POJO类,Transaction模块可以为它们提供编程式的以及声明式的事务管理支持。

3.   Web

Web由Web、Web-Servlet、Web-Struts、Web-Portlet四个模块组成。

Web

         Web模块提供面向Web的基础集成功能,例如多文件上传功能、使用Servlet监听器初始化IoC容器、面向Web的应用上下文。它还包含有与Web相关的远程调用支持。

Web-Servlet

         Web-Servlet模块包含了Spring对Web应用的MVC实现。Spring的MVC框架提供了对领域模型代码和web表单之间的明确分离功能,且可以集成所有其它Spring的功能。

Web-Struts

         Web-Struts模块包含了Spring应用集成典型的Struts Web层所需要的支持类。注意,从Spring3.0开始,对Struts的支持已经被弃用。请把你的应用迁移到Struts2.0以及使用它的Spring集成,或者迁移到Spring MVC解决方案。

Web-Portlet

         Web-Portlet模块提供在Portlet环境中使用的MVC实现,它也镜像了Web-Servlet模块的功能。

4.   AOP and Instrumentation

Spring的AOP模块提供了一个与AOP联盟兼容的面向切面的编程实现,它允许你定义方法拦截以及切入点来清晰地解偶本该分离的功能的代码。使用源代码级别的元数据功能,可以把行为信息混合到代码中,这种方式有点像.NET的属性。

独立的Aspects模块提供与AspectJ的集成功能。

Instrumentation模块提供类设备支持,以及在某些应用服务器中使用的类加载器实现。

5.   Test

Test模块使用JUnit和TestNG来测试Spring组件。它提供一致的Spring应用上下文加载及对这些上下文的缓存。它也提供模拟对象来独立地测试你所写的代码。

转载于:https://www.cnblogs.com/-cdm/archive/2012/10/17/2726445.html

你可能感兴趣的文章
Django之Models
查看>>
CSS 透明度级别 及 背景透明
查看>>
Linux 的 date 日期的使用
查看>>
PHP zip压缩文件及解压
查看>>
SOAP web service用AFNetWorking实现请求
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
新手村之循环!循环!循环!
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
SSM集成activiti6.0错误集锦(一)
查看>>
个人作业
查看>>
下拉刷新
查看>>