Spring 架构
Spring 可能成为您的所有企业应用程序的一站式商店。但是,Spring 是模块化的,允许您挑选适用于您的模块,而无需引入其他模块。下面的部分提供了 Spring Framework 中所有可用模块的详细信息。
Spring Framework 提供了大约 20 个模块,可以根据应用程序要求使用。
核心容器
核心容器由 Core、Beans、Context 和 Expression Language 模块组成,其详细信息如下:
Core 模块提供了框架的基本部分,包括 IoC 和依赖注入功能。
Bean 模块提供了 BeanFactory,它是工厂模式的复杂实现。
Context 模块建立在 Core 和 Beans 模块提供的坚实基础之上,它是访问定义和配置的任何对象的媒介。ApplicationContext 接口是 Context 模块的焦点。
SpEL 模块为在运行时查询和操作对象图提供了强大的表达式语言。
数据访问/集成
数据访问/集成层由 JDBC、ORM、OXM、JMS 和 Transaction 模块组成,其详细信息如下:
JDBC 模块提供了一个 JDBC 抽象层,消除了繁琐的 JDBC 相关编码。
ORM 模块为流行的对象关系映射 API(包括 JPA、JDO、Hibernate 和 iBatis)提供了集成层。
OXM 模块提供了一个支持 JAXB、Castor、XMLBeans、JiBX 和 XStream 的 Object/XML 映射实现的抽象层。
Java 消息服务 JMS 模块包含用于生成和消费消息的特性。
Transaction 模块支持实现特殊接口的类和所有 POJO 的编程和声明性事务管理。
Web
Web 层由 Web、Web-MVC、Web-Socket 和 Web-Portlet 模块组成,其详细信息如下:
Web 模块提供基本的面向 Web 的集成功能,如多部分文件上传功能以及使用 servlet 监听器和面向 Web 的应用程序上下文初始化 IoC 容器。
Web-MVC 模块包含 Spring 用于 Web 应用程序的 Model-View-Controller(MVC)实现。
Web-Socket 模块提供了在 Web 应用程序中客户端和服务器之间进行基于 WebSocket 的双向通信的支持。
Web-Portlet 模块提供了用于在 Portlet 环境中使用的 MVC 实现,并反映了 Web-Servlet 模块的功能。
其他
还有其他一些重要的模块,如 AOP、Aspects、Instrumentation、Web 和 Test 模块,其详细信息如下:
AOP 模块提供了一种面向方面的编程实现,允许您定义方法拦截器和切入点,以清晰地解耦实现应该分离的功能的代码。
Aspects 模块提供了与 AspectJ 的集成,这又是一个强大而成熟的 AOP 框架。
Instrumentation 模块提供了类仪器支持和类装入器实现,可用于某些应用程序服务器。
Messaging 模块提供了支持 STOMP 作为用于应用程序的 WebSocket 子协议的功能。它还支持一种注释编程模型,用于从 WebSocket 客户端路由和处理 STOMP 消息。
Test 模块支持使用 JUnit 或 TestNG 框架测试 Spring 组件。
最后
为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:
公众号搜索Let us Coding
,知乎,开源中国,CSDN,思否,掘金,InfoQ,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注
版权声明: 本文为 InfoQ 作者【小万哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/909583f243816db4e99afc729】。文章转载请联系作者。
评论