spring框架构成

spring框架构成

spring中集成了多个模块,包含有核心容器、数据访问、web、AOP等模块

核心容器包含有Spring Core、Spring Beans、Spring Context和EL模块

  • Spring Core

    spring的核心,提供Spring框架的基本功能。主要组件是BeanFactory,工厂模式的实现,使用IOC模式将应用程序的配置和依赖性规范与实际的应用程序代码分开

  • Spring Beans

    所有应用都要用到,包含了访问配置文件、创建和管理bean的一些相关类,以及进行IOC/DI操作相关的所有类

  • Spring Context

    Spring Context是Spring上下文,基于Core和Beans模块之上,提供了一种类似于JNDI注册器的框架式的对象访问方法,继承了Beans的特性,为spring核心提供了大量扩展,添加了对国际化、事件传播、资源加载和对Context的透明创建的支持,实际上是一个配置文件,由Spring框架提供上下文信息,ApplicationContext接口是Context模块的关键

Data Access/Integration层包含JDBC、ORM、OXM、JMS和Transaction模块

  • Spring JDBC

    提供了一个JDBC抽象层

  • Spring ORM

    Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,包括JDO、Hibernate和iBatis。都遵从Spring的通用事务和DAO异常层次结构

  • Spring OXM

    提供了一个对Object/XML映射实现的抽象层,Object/XML映射实现包括JAXB、Castor、JiBX和XStream

  • Spring JMS

    包含了一些制造和消费消息的特性

  • Transaction

    支持编程和声明性的事务管理

Web模块为基于Web的应用程序提供了上下文,简化了处理大部分请求以及将请求参数绑定到域对象的工作,包含了Web、Web-Servlet、Web-Struts和Web-Porlet模块

  • Spring Web

    提供了基础的面向Web的集成特性

  • Web-Servlet

    包含了spring的MVC实现

    MVC框架是一个全功能构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。

  • Web-Struts

    提供了对Struts的支持,使得类在Spring应用中能够与一个典型的Struts Web层集成在一起,在spring3.0中被弃用

  • Web-Porlet

    提供了用于Portlet环境和Web-Servlet模块的MVC实现

AOP模块提供了一个符合AOP标准的面向切面编程的实现,通过配置管理特性,AOP模块直接将面向切面的编程功能集成到了Spring框架中。可以很容易的使Spring框架管理的任何对象支持AOP。如事务管理

  • Aspects

    提供了对AspectJ的集成支持

  • Instrumentation

    提供了class Instrumentation支持和classloader实现,使得可以在特定的应用服务器上使用

zhhll.icu/2020/框架/spr...

本文由mdnice多平台发布

相关推荐
代码不停3 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金5 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
paopaokaka_luck5 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
Wang's Blog6 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo
Wang's Blog6 小时前
Java 项目实战: 交友项目 - Dubbo 入门引导
java·dubbo·交友
蜗牛互联网7 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python
SL_staff7 小时前
当规则引擎开始‘懂业务’:JVS-Rules金融风控四大原生能力拆解
java·python·全栈
Shaoshing7 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分
dd聊技术7 小时前
Prompt 从代码常量搬进数据库:改一句话,不用再发一次版
java·后端
ly76897 小时前
Spring Data MongoDB 批量写入实践:BulkOperations 批大小与写关注权衡
java·mongodb·spring·批量写入·bulkoperations·写关注·mongotemplate