Spring_总结_01_Spring概述
2019-11-22

一、前言

从今天开始,重新总结一下Spring的相关知识,主要是结合《Spring实战(第四版)》和 《JavaEE开发的颠覆者——SpringBoot实战》这两本书以及官方文档,同时加入自己的一点点点小小小理解,如有不当之处,还请指正。

 

二、Spring最根本的使命

Spring框架是一个轻量级的企业级开发的一站式解决方案,所谓解决方案就是可以基于Spring解决JavaEE开发的所有问题。

事实上,Spring也确实在不断朝这个方向努力,从官方上列出的Spring产品就可以看出,同时这也反映出 Spring最根本的使命:简化Java开发

 

三、Spring框架的四大原则

为了简化Java开发,Spring框架所有功能的设计和实现都基于四大原则:

(1)使用POJO进行轻量级和最小侵入式开发

(2)通过依赖注入和基于接口编程实现松耦合

(3)通过AOP和默认习惯进行声明式编程

(4)使用AOP和模板(template)减少模式化代码

 

 

四、Spring 的六大模块

Spring是模块化的,这意味着你可以只使用你需要的 Spring 的模块。

                                                          图 1.1 Spring框架由6个定义良好的模块分类组成

 

1.核心容器(Core Container)

1Spring-Core核心工具类,Spring其他模块大量使用Spring-Core;
2Spring-BeanSpring定义Bean的支持;
3Spring-Context运行时Spring容器;
4Spring-Context-SupportSpring容器对第三方包的集成支持;
5Spring-Expression 使用表达式语言在运行时查询和操作对象。

 

2.AOP

1Spring-AOP基于代理的AOP支持
2Spring-Aspects基于AspectJ的AOP支持

 

3.消息(Messaging)

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

 

4.Web

1Spring-Web提供基础的Web集成的功能,在Web项目中提供Spring的容器。
2Spring-Webmvc提供基于Servlet的Spring MVC
3Spring-WebSocket提供WebSocket
4Spring-Webmvc-Portlet提供Portlet环境支持

 

4.数据访问/集成(Data Acess / Integration)

 

1Spring-JDBC提供以JDBC访问数据库的支持
2Spring-TX提供编程式和声明式的事务支持
3Spring-ORM提供对对象/关系映射技术的支持
4Spring-OXM提供对对象/XML映射技术的支持
5Spring-JMS提供对JMS的支持

 

 

 

五、Spring的生态

 

1Spring Boot使用默认开发配置来实现快速开发
2Spring XD用来简化大数据应用开发
3Spring Cloud为分部式系统开发提供工具集
4Spring Data对主流的关系型和NoSQL数据库的支持
5Spring Integration通过消息机制对企业集成模式(EIP)的支持
6Spring Batch简化及优化大量数据的批处理操作
7Spring Security通过认证和授权保护应用
8Spring HATEOAS基于HATEOAS原则简化了REST服务开发
9Spring Social与社交网络API(如Faceook、新浪微博、QQ等)的集成
10Spring AMQP对基于AMQP的消息的支持
11Spring Mobile提供对手机设备检测的功能,给不同的设备返回不同的页面的支持
12Spring for Android主要提供在Android上消费RESTful API的功能
13Spring Web Flow基于Spring MVC提供基于向导流程式的Web应用开发
14Spring Web Services提供了基于协议有限的SOAP/Web服务
15Spring LDAP简化使用LDAP开发
16Spring Session提供一个API及实现来管理用户会话信息

 

 

六、参考资料

1.《Spring实战(第四版)》

2.《JavaEE开发的颠覆者——SpringBoot实战》