作者:兴添刚 | 来源:互联网 | 2023-09-07 18:58
本文由编程笔记#小编为大家整理,主要介绍了Spring_总结_01_Spring概述相关的知识,希望对你有一定的参考价值。
一、前言
从今天开始,重新总结一下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)
1 |
Spring-Core |
核心工具类,Spring其他模块大量使用Spring-Core; |
2 |
Spring-Bean |
Spring定义Bean的支持; |
3 |
Spring-Context |
运行时Spring容器; |
4 |
Spring-Context-Support |
Spring容器对第三方包的集成支持; |
5 |
Spring-Expression |
使用表达式语言在运行时查询和操作对象。 |
2.AOP
1 |
Spring-AOP |
基于代理的AOP支持 |
2 |
Spring-Aspects |
基于AspectJ的AOP支持 |
3.消息(Messaging)
Spring-Messaging :对消息架构和协议的支持。
4.Web
1 |
Spring-Web |
提供基础的Web集成的功能,在Web项目中提供Spring的容器。 |
2 |
Spring-Webmvc |
提供基于Servlet的Spring MVC |
3 |
Spring-WebSocket |
提供WebSocket |
4 |
Spring-Webmvc-Portlet |
提供Portlet环境支持 |
4.数据访问/集成(Data Acess / Integration)
1 |
Spring-JDBC |
提供以JDBC访问数据库的支持 |
2 |
Spring-TX |
提供编程式和声明式的事务支持 |
3 |
Spring-ORM |
提供对对象/关系映射技术的支持 |
4 |
Spring-OXM |
提供对对象/XML映射技术的支持 |
5 |
Spring-JMS |
提供对JMS的支持 |
五、Spring的生态
1 |
Spring Boot |
使用默认开发配置来实现快速开发 |
2 |
Spring XD |
用来简化大数据应用开发 |
3 |
Spring Cloud |
为分部式系统开发提供工具集 |
4 |
Spring Data |
对主流的关系型和NoSQL数据库的支持 |
5 |
Spring Integration |
通过消息机制对企业集成模式(EIP)的支持 |
6 |
Spring Batch |
简化及优化大量数据的批处理操作 |
7 |
Spring Security |
通过认证和授权保护应用 |
8 |
Spring HATEOAS |
基于HATEOAS原则简化了REST服务开发 |
9 |
Spring Social |
与社交网络API(如Faceook、新浪微博、QQ等)的集成 |
10 |
Spring AMQP |
对基于AMQP的消息的支持 |
11 |
Spring Mobile |
提供对手机设备检测的功能,给不同的设备返回不同的页面的支持 |
12 |
Spring for android |
主要提供在Android上消费RESTful API的功能 |
13 |
Spring Web Flow |
基于Spring MVC提供基于向导流程式的Web应用开发 |
14 |
Spring Web Services |
提供了基于协议有限的SOAP/Web服务 |
15 |
Spring LDAP |
简化使用LDAP开发 |
16 |
Spring Session |
提供一个API及实现来管理用户会话信息 |
六、参考资料
1.《Spring实战(第四版)》
2.《JavaEE开发的颠覆者——SpringBoot实战》