大概解释下spring的模块和生态圈都有哪儿些

Spring框架是一个轻量级的企业级开发的一站式解决方案。所谓解决方案就是可以基于spring解决JAVAEE开发的所有问题。Spring框架主要提供了IOC容器、AOP、数据访问、WEB开发、消息、测试等相关技术的支持。

Spring使用简单的POJO(Plainold java object,即无任何限制的普通java对象)来进行企业级开发。每一个spring管理的java对象都称之为bean;而spring提供了一个IOC容器用来初始化对象,解决对象间的依赖管理和对象的使用。

可参考的网站为:"https://spring.io/guides"和"https://docs.spring.io/spring/docs/"

1.spring的模块

(1)核心容器(core container)

Spring-core:核心工具类,spring其他模块大量使用spring-core;

Spring-beans:spring定义bean的支持;

Spring-context:运行时spring容器;

Spring-context-support:spring容器对第三方包的集成支持;

Spring-expression:使用表达式语言在运行时查询和操作对象。

(2)AOP

Spring-AOP:基于代理的AOP支持;

Spring-aspects:基于aspectJ的AOP支持。

(3)消息(Messaging)

Spring-messaging:对消息架构和协议的支持。

(4)WEB

Spring-web:提供基础的WEB集成的功能,在WEB项目中提供spring的容器;

Spring-webmvc:提供基于servlet的spring MVC;

Spring-websocket:提供websocket功能;

Spring-webmvc-portlet:提供portlet环境支持。

(5)数据访问/集成(dataaccess/integration)

Spring-jdbc:提供以JDBC访问数据库的支持;

Spring-TX:提供编程式和声明式的事物支持;

Spring-ORM:提供对对象/关系映射技术的支持;

Spring-OXM:提供对对象/XML映射技术的支持;

Spring-JMS:提供对JMS的支持。

2.Spring的生态

Spring发展到现在已经不仅仅是spring框架本身的内容,spring目前提供了大量的基于spring的项目,可以用来更深入地降低我们的开发难度,提供开发效率。

目前spring的生态里主要有以下项目:

Spring boot:使用默认开发配置来实现快速开发;

Spring XD:用来简化大数据应用开发;

Spring cloud:为分布式系统开发提供工具集;

Spring data:对主流的关系型和nosql数据库的支持;

Spring integration:通过消息机制对企业集成模式(EIP)的支持;

Spring batch:简化及优化大量数据的批处理操作;

Spring security:通过认证和授权保护应用;

Spring HATEOAS:基于HATEOAS原则简化REST服务开发;

//HATEOAS可参考: http://blog.csdn.net/jackyrongvip/article/details/9218817

Spring social:与社交网络API(如Facebook、新浪微博等)的集成;

Spring AMQP:对基于AMQP的消息的支持;

Spring mobile:提供对手机设备检测的功能,给不同的设备返回不同的页面的支持;

Spring for Android:主要提供在Android上消费restfulapi的功能;

Spring web flow:基于spring MVC提供基于向导流程式的WEB应用开发;

Spring web services:提供了基于协议有限的SOAP/WEB服务;

Spring LDAP:简化使用LDAP开发;

Spring session:提供一个API及实现来管理用户会话信息。

时间: 2024-12-07 09:20:50

大概解释下spring的模块和生态圈都有哪儿些的相关文章

Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用

Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单单实现这两个需求的话,那么基本足够,但是很多时候一个网站除了仅仅能够访问数据库是不够的,它还需要对性能以及更简化的步骤有着更多的要求,这一篇重点就是帮助我们如何去实现数据连接池管理与更简化便利的开发步骤. 如果你觉得自己能写出更高效率的连接池,那你可以不需要这篇文章了,我更建议你可以去开源组织毛遂自

Spring Cloud 模块简介2

前面一篇文章谈到微服务基础框架,而Netflix的多个开源组件一起正好可以提供完整的分布式微服务基础架构环境,而对于Spring Cloud正是对Netflix的多个开源组件进一步的封装而成,同时又实现了和云端平台,和Spring Boot开发框架很好的集成. Spring Cloud是一个相对比较新的微服务框架,今年(2016)才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案.

python下通过os模块和shutil模块进行文件处理方式

python下通过os模块和shutil模块进行文件处理方式 得到当前工作目录路径:os.getcwd() 获取指定目录下的所有文件和目录名:os.listdir(dir) 删除文件:os.remove(file) 删除多个目录:os.removedirs(r"/home") 检测路径是否为文件:os.path.isfile(path) 检测路径是否为目录:os.path.isdir(path) 判断是否为绝对路径:os.path.isabs(path) 检测路径是否存在:os.pat

刨根究底字符编码之二——关键术语解释(下)

关键术语解释(下) 一.第1层 抽象字符表ACR (Abstract Character Repertoire抽象字符清单):明确字符的范围(即确定支持哪些字符) 1. 抽象字符表ACR是一个编码系统支持的所有抽象字符的集合,可以简单理解为无序的字符集合,用于确定字符的范围,即要支持哪些字符. 抽象字符表ACR的一个重要特点是字符的无序性,即其中的字符并没有编排数字顺序,当然也就没有数字编号. 2. "抽象"字符不具有某种特定的字形,不应与具有某种特定字形的"具体"

windows下安装python模块

如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar.gz 2.解压 3.打开cmd窗口,进入解压目录 4.输入命令  "python setup.py install"

linux下安装mod_evasitive模块(防止单一客户的DOS攻击)

安装步骤如下: 1. 前提条件 已经安装了Apache 2.2.x或以上版本,下载mod_evasitive. 下载地址: http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz 2. 安装 按照下列指令安装mod_evasitive. tar -xzvf mod_evasive_1.10.1.tar.gz cd mod_evasitive vim mod_evasive20.c #de

PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?

PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? 代码如下: <?php $arr = array('one','two','three'); foreach ($arr as &$value){ echo 'Value:'.$value.'<br />'; } foreach ($arr as $value){ echo 'Value:'.$value.'<br />'; } ?>输出结果: Value:one V

Linux:在已安装nginx情况下安装nginx模块

在已安装nginx情况下安装nginx模块 nginx第三方模块安装方法: 代码如下: ./configure --prefix=/你的安装目录  --add-module=/第三方模块目录 1..查看nginx编译安装时的命令,安装了哪些模块 代码如下: #/usr/local/webserver/nginx/sbin/nginx -V 2.切换到root用户 代码如下: #su root 3.在已安装nginx情况下安装nginx模块(username为系统用户名) 代码如下: # sudo

关于tomcat下spring无法加载依赖jar中properties文件的原因分析

我们经常把spring需要加载的properties文件放在java/resources下面,这样存放的问题导致properties在打包后就在jar的根目录下,所以我们的spring的配置路径就是classpath*:xxx.properties,但是这样的jar我们在被其他项目引用的时候会发现properties文件老是无法加载,就这个问题从spring的源码来找找为什么会这样. 首先properties是当做一个resource来加载的,实现加载的是org.springframework.