一、spring框架概述:

Spring框架主要提供了Ioc容器、AOP、数据访问、Web开发、消息、测试等相关技术的支持。

1、Spring的模块

1)核心容器

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

Spring-Bean:Spring定义Bean的支持;

Spring-Context:运行时Spring容器;

Spring-Context-Support:Spring容器对第三方的集成支持;

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

2)AOP

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

Spring-Aspects:基于AspectJ的AOP支持;

3)消息(Message)

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

4)Web

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

Spring-Webmvc:提供基于Servlet的SpringMVC;

Spring-WebSocket:提供WebSocket功能;

Spring-Webmvc-Portlet:提供Portlet环境支持。

5)数据访问/集成(Data Access/Integration)

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

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

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

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

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

2、Spring的生态

Spring Boot:使用默认开发配置来实现快速开发。

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

Spring Cloud:为分布式系统开发提供工具集。

Spring Data:对主流的关系型和NoSQL数据库的支持。

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

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

Spring Security:通过认证和授权保护应用。

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

Spring Social :与社交网络API的集成。

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

Spring Mobile:提供对手机设备检查的功能,给不同的设备返回不同的页面的支持。

Spring for Android:主要提供在Android上消费RESTful API的功能。

Spring Web Flow:基于Spring MVC提供基于向导流程式的Web应用开发。

Spring Web Service:提供基于协议有限的SOAP/Web服务。

Spring LDAP:简化使用LDAP开发。

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

写在后面:

最近学习状态下滑很快,希望通过写博客的方式让自己静下来,顺便系统的回顾一下最近学习的Spring及Spring boot的相关知识。在开始学习Spring boot之前,还是再次回顾一下Spring的常用知识,以便更好的理解Spring的设计思想。最近听过一句话感受特别深:莫在浮沙筑高台。下一篇博客会开始记录Spring的java配置,许多书籍都推荐注解和java配置结合的方式来进行配置,而自己以前都习惯注解和XML的方式来配置。关于Ioc和AOP的知识概念这儿就打算略过了,我们可以通过各种途径了解到依赖注入和面向切面编程的思想。当然结合项目实例才能逐渐加深我们的理解。所以多动手是提升自己思维的必要手段,这也是我开始写博客的初衷。最后,还是那句话,莫在浮沙筑高台!

鸟瞰spring的更多相关文章

  1. spring 第一篇(1-3):鸟瞰spring蓝图

    如你所见,spring框架的核心是关注于如何使用DI.AOP和模板来让企业级java开发变得更简单.spring确实也是这样做的,所以很值得你去使用它.不过spring内容可能比你所能看到的要多很多. ...

  2. 第23章 Spring MVC初体验

    23.1 鸟瞰Spring MVC 粗略的介绍了SpringMVC的主要组成部分,SpringMVC作为一个Web层的框架,最大的作用是把我从繁重的web.xml文件编写中解救出来,再也不要不停的添加 ...

  3. Spring中眼花缭乱的BeanDefinition

    本篇博客主要参考:Spring官网阅读(四)BeanDefinition(上) 引入主题 为什么要读Spring源码,有的人为了学习Spring中的先进思想,也有的人是为了更好的理解设计模式,当然也有 ...

  4. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  5. 玩转spring boot——快速开始

    开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...

  6. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

  7. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  8. 学习AOP之透过Spring的Ioc理解Advisor

    花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...

  9. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

随机推荐

  1. Git操作大全[实际用到的都放在这里总结]

    1.如何合并远程两个分支feature-rebuild和develop? g fetch g checkout -b develop origin/develop g merge feature-re ...

  2. 基于 WebRTC 技术的实时通信服务开发实践

    随着直播的发展,直播实时互动性变得日益重要.又拍云在 WebRTC 的基础上,凭借多年的开发经验,结合当下实际情况,开发 UPRTC 系统,解决了网络延时.并发量大.客户端解码能力差等问题. WebR ...

  3. Oracle PIVOT 行转列方法

    数据库中業種的存储如下图: SELECT * FROM M_TORIHIKISAKI_GYOSYU 其中GYIUSYU_CD字段代表不同的業種 而画面需要实现下图所示样式:(将每条数据的業種横向展开显 ...

  4. 20170711_map/reduce

    js: map: var arr = [1,2,3,4,5]; var res = arr.map(function(x){ return x * x; }); //res 现在 = [1,4,9,1 ...

  5. Android--Intent组件带参传递与返回

    Android 是 单例模式: 表示 application 唯一的.每个应用被启动的时候,其实是 application 被创建. Context 上下文: context 是 Applicatio ...

  6. FreeRTOS——任务管理

    1. FreeRTOS 任务不允许以任何方式从实现函数中返回——他们绝不能有一条“return”语句,也不可能执行到函数的末尾.如果一个函数不需要,可以将其删除,如在任务中使用函数vTaskDelet ...

  7. 计算机网络之应用层_part -1

    应用层协议原理 一.网络应用程序体系结构 网络应用程序体系结构是由程序研发者设计的,规定了如何在各种端系统中组织该应用程序,主要流行的有两种: 1.客户--服务器体系结构: 有一个总是打开的主机(称为 ...

  8. HDOJ2008-数值统计

    Problem Description 统计给定的n个数中,负数.零和正数的个数.   Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然 ...

  9. 【HTML】html5新属性-datalist

    摘要: 为实现输入域自动填充的效果 方法一: jquery-ui的autocomplete方法, 不是jquery 自带的方法. 方法二: 采用html5新特性,datalist,例子如下:坏处很明显 ...

  10. linux c++如何学习

    最近有人问我,linux c++工资这么高,怎么学习才能入门,只要有个项目经验能进入一个公司即可. 然后我就说了linux c++开发的整个流程,然后用项目作为目标进行学习,这其实是一种以目的为主导的 ...