Spring Framework体系结构简介

说明:以下转自Spring官方文档,用的版本为4.3.11版本。

一、引用官方文档

2.2.1核心集装箱

所述核心容器由以下部分组成spring-core, spring-beansspring-contextspring-context-support,和spring-expression(弹簧表达式语言)模块。

spring-corespring-beans模块提供框架的基本零件,包括IOC和依赖注入特征。这BeanFactory是工厂模式的复杂实施。它消除了对编程单例的需要,并允许您将依赖关系的配置和规范与实际程序逻辑分离。

所述上下文spring-context)模块建立由设置在固体基体上的核心和豆类模块:它是访问一个框架式的方式是类似于一个JNDI注册表对象的装置。上下文模块从Beans模块继承其功能,并增加了对国际化的支持(例如使用资源束),事件传播,资源加载以及例如Servlet容器透明创建上下文。Context模块还支持Java EE功能,如EJB,JMX和基本远程处理。该ApplicationContext接口是语境模块的焦点。 spring-context-support支持将常见的第三方库集成到用于缓存的Spring应用程序环境(EhCache,Guava,JCache),邮件(JavaMail),调度(CommonJ,Quartz)和模板引擎(FreeMarker,JasperReports,Velocity)中。

spring-expression模块提供了强大的表达式语言,用于在运行时查询和操作对象图。它是JSP 2.1规范中规定的统一表达语言(统一EL)的扩展。该语言支持设置和获取属性值,属性分配,方法调用,访问数组,集合和索引器的内容,逻辑和算术运算符,命名变量以及从Spring的IoC容器中以名称检索对象。它还支持列表投影和选择以及常见列表聚合。

2.2.2 AOP和仪器

spring-aop模块提供了一个符合AOP联盟标准的面向方面的编程实现,允许您定义方法拦截器和切入点,以清理分离实现应分离的功能的代码。使用源代码级元数据功能,您还可以将行为信息与.NET属性类似。

单独的spring-aspects模块提供与AspectJ的集成。

spring-instrument模块提供了在某些应用服务器中使用的类检测支持和类加载器实现。该spring-instrument-tomcat模块包含Spring的Tomcat测试代理。

2.2.3消息传递

Spring框架4包括spring-messaging从关键抽象模块Spring集成项目,例如MessageMessageChannelMessageHandler,和其他人作为基于消息的应用奠定了基础。该模块还包括一组用于将消息映射到方法的注释,类似于基于Spring MVC注释的编程模型。

2.2.4数据访问/集成

所述数据访问/集成层由JDBC,ORM,OXM,JMS和交易模块。

spring-jdbc模块提供了一个JDBC抽象层,无需对繁琐的JDBC编码和数据库供应商特定的错误代码进行解析。

spring-tx模块支持 针对实现特殊接口和所有POJO(普通Java对象)的类的编程和声明式事务管理。

spring-orm模块为流行的对象关系映射 API提供集成层 ,包括JPA, JDOHibernate。使用该spring-orm模块,您可以将所有这些O/R映射框架与Spring提供的所有其他功能结合使用,例如前面提到的简单的声明性事务管理功能。

spring-oxm模块提供了一个支持Object / XML映射实现(如JAXB,Castor,XMLBeans,JiBX和XStream)的抽象层。

spring-jms模块(Java消息服务)包含用于生成和消费消息的功能。从Spring Framework 4.1开始,它提供了与spring-messaging模块的集成 。

2.2.5 Web

所述网络层由的spring-webspring-webmvcspring-websocket,和spring-webmvc-portlet模块。

spring-web模块提供基本的面向Web的集成功能,例如多部分文件上传功能,以及使用Servlet侦听器和面向Web的应用程序上下文初始化IoC容器。它还包含一个HTTP客户端和Spring的远程支持的Web相关部分。

spring-webmvc模块(也称为Web-Servlet模块)包含用于Web应用程序的Spring的模型视图控制器(MVC)和REST Web Services实现。Spring的MVC框架提供了领域模型代码和Web表单之间的清晰分离,并与Spring Framework的所有其他功能集成。

spring-webmvc-portlet模块(也称为Web-Portlet模块)提供了要在Portlet环境中使用的MVC实现,并且反映了基于Servlet的spring-webmvc模块的功能。

2.2.6测试

spring-test模块支持使用JUnit或TestNG对Spring组件进行单元测试集成测试。它提供了Spring 的一致加载ApplicationContext和这些上下文的缓存。它还提供可用于孤立测试代码的模拟对象

二、Spring体系说明

其实Spring Framework包含了Spring Web MVC。而整个Spring体现是非常庞大的,所以在找这类文档时,最正确的做法是通过官方文档去阅读。

比如Spring体系有Spring Boot、Spring Cloud等。入口就是:https://spring.io/docs/reference,然后搜索想要的结果即可。

参考:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/(官方文档)

https://www.ibm.com/developerworks/cn/java/wa-spring1/index.html

时间: 2024-10-28 20:31:43

Spring Framework体系结构简介的相关文章

spring framework体系结构及内部各模块jar之间的maven依赖关系

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些spring的依赖,只有拷贝,其实,当初我就是这么干的! spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖了若干其他jar,所以,搞清楚它们之间的关系,配置maven依赖就可以简洁明了,下面举个例子,要在普通java工程使用sp

spring framework体系结构及模块jar依赖关系

本文对于Spring的JAR包使用和配置,结合网友材料以spring 4.3.6.RELEASE版本为例,介绍spring框架结构和各模块对应JAR包以及模块间JAR依赖关系. 注:不同版本JAR包依赖会有所区别 spring官网给出了一张spring4的结构图 图中可以简单认为将spring分为5个部分:core.aop.data access.web.test,图中每个圆角矩形都对应相应jar包,如果在maven中配置,所有这些jar的“groupId”都是“org.springframew

Spring Framework简介

Spring Framework 学习java编程不知不觉已经三年时间了,开始的时候,总是喜欢看着视频,然后按部就班的敲打着键盘,每当系统正常运行后,心里乐开了花.最开始的时候,所有的代码都是由自己设计,基本上不使用第三方java类.但是随着学习的深入,逐渐的开始接触各种第三方java类库,比如apache common,dom4j,log4j等.同样的,为了降低系统开发的复杂度,大部分系统也会采用业界经典的框架结构来构建,比如:struts + spring + orm(ssh),spring

Spring框架简介 Spring Framework Introduction

Introduction The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application l

Spring.net(一)----Spring.NET框架简介及模块说明

简介:    Spring.NET框架包括很多功能,Spring.NET 1.0包括完整的IoC容器和AOP类库.1.1版加入Web.ORM和数据模块.Spring.NET的下载包中并不包含与其它类库(如NHibernate,TIBCO EMS,Anthem,和IIOP.NET)集成的模块,如果需要您可以单独下载. Spring Framework天生丽质,因为其先进的架构和对一系列前沿开发思想的集成,使它从一产生就深得开发者欢迎,它将设计模式运用到了炉火纯青的地方,它的幽雅和魅力征服了许多JA

Spring框架学习——Spring的体系结构详解

1.Spring体系结构简介 Spring框架至今已集成了20多个模块,这些模块分布在以下模块中: 核心容器(Core Container) 数据访问/集成(Data Access/Integration)层 Web层 AOP(Aspect Oriented Programming)模块 植入(Instrumentation)模块 消息传输(Messaging) 测试(Test)模块 Spring体系结构如下图: 2.核心容器 Spring的核心容器是其他模块建立的基础,有Spring-core

Spring Framework Overview

Spring makes it easy to create Java enterprise applications. It provides everything you need to embrace the Java language in an enterprise environment, with support for Groovy and Kotlin as alternative languages on the JVM, and with the flexibility t

手动创建Spring项目 Spring framework

之前学习框架一直是看的视频教程,并且在都配套有项目源码,跟着视频敲代码总是很简单,现在想深入了解,自己从官网下载文件手动搭建,就遇到了很多问题记载如下. 首先熟悉一下spring的官方网站:http://spring.io/ 平时所说的Spring就是Spring中的一个项目,主页为Project --> Spring Framework : http://projects.spring.io/spring-framework/ 介绍了spring framework的基础配置和使用maven搭

关于spring framework最新发布压缩包的下载问题 【非常非常新手帖】

关于spring framework最新发布压缩包的下载问题 [非常非常新手帖] - Java之道 - 博客频道 - CSDN.NET 最近,spirng官方改版,spring framework最新release的zip包已经在官网上找不着相应链接了,都改成maven构建下载的方式了,让初学者无从下载. 这里给大家提供springframework最新release的zip包的下载地址: ?1. 在浏览器中打开这个地址 http://maven.springframework.org/rele