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 小时前
【Git】的安装和使用
java·git
y = xⁿ4 小时前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
侧耳倾听1114 小时前
jwt使用简介
java·jwt
顶点多余5 小时前
那些在算法中适合巩固的知识点---1
java·前端·算法
AI人工智能+电脑小能手5 小时前
大白话说Java设计模式-46-责任链模式(业务实战篇)
java·设计模式·责任链模式·风控校验·servlet filter·spring interceptor·链式处理
jay神5 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
2601_962066496 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
yaoxin5211237 小时前
507. Java 反射 - 在 BeanFactory 中实现依赖注入
java·开发语言
OPEN-F7 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
2601_962072218 小时前
SpringMVC进阶(自定义拦截器以及异常处理)
java