Spring整体架构
2018-07-03 01:01:36来源:博客园 阅读 ()
Spring整体架构
Spring的整体架构
Spring框架是分层架构的,它包含了一系列的功能要素,并被分为大约20个模块。
Spring整体架构图
模块分类
1. Core Container
Core Container (核心容器)包含 Core,Beans,Context,Expression Language四个模块。
Core和Beans是Spring的基础部分,提供Ioc(控制反转)和依赖注入。
●Core模块:见名知意就是核心的意思。该模块主要包含Spring基本的核心工具类,Spring的其他组件都要使用其中的类,Core模块是其他组件的基本核心。
●Beans模块是所有应用都要用到的,它包含访问配置文件,创建和管理bean以及进行(Ioc/DI)操作相关的类。
●Context模块构建在Core和Beans的基础之上,提供了一种类似于JNDI(Java命名和目录接口,详情百度)注册器的框架式的对象访问方法。Context模块为Spring的核心提供了大量扩展。ApplicationContext接口是Context模块的关键。
●Expression Language模块提供了一个强大的表达式语言用于在运行时查询和操作对象。
2. Data Access/Integration
Data Access/Integration包含有JDBC,ORM,OXM,JMS和Transaction五个模块。
●JDBC模块提供了一个JDBC抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。这个模块包含了Spring对JDBC数据访问进行封装的类。
●ORM(对象-关系映射)该模块就是对象-关系映射API。
●OXM模块提供了一个对Object/XML映射实现的抽象层,Object/XML映射实现包括JAXB,Castor,XMLBeans,JiBX和XStream。
●JMS(Java Messaging Service)模块主要包含了一些制造和消费信息的特性。
●Transcation模块主持编程和声明性的事务管理,这些事务必须实现特定的接口,并且对所有的POJO(简单Java对象,即没有继承任何类,没有实现任何接口,没有被框架入侵的Java对象)都使用。
3. Web
Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。Web层还包含了Web,Web-Servlet,Web-Struts和Web-Porlet模块
●Web模块提供了基础的面向Web的集成特性。它还包含了Spring远程支持中Web的相关部分。
●Web-Servlet模块web.servlet.jar:该模块包含Spring的model-view-controller(MVC)实现。Spring的MVC框架是的模型范围内的代码和web forms之间能够清楚地分离开,并与Spring框架的其他特性集成在一起。
●Web-Struts模块提供了对Struts的支持。
●Web-Porlet模块提供了用于Porlet环境和Web-Servlet模块的MVC的实现。
4. AOP
AOP模块提供了一个符合AOP联盟标准的面向切面的实现。它让我们可以定义例如拦截器和切点,从而将逻辑代码分开,降低它们之间的耦合度。利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中。
Spring AOP 模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB组件就可以将声明性事务管理继承到应用程序中。
●Aspects模块提供了对象AspectJ的集成支持。
●Instrumentation模块提供了class instrumentation支持和classloader实现,使得可以在特定的应用服务器上使用。
5. Test
Test模块支持使用JUnit和TestNG对Spring组件进行测试。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Spring系列.ApplicationContext接口 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 老板让你抗住千万级流量,如何做架构设计? 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash