Spring家族成员联系与区别
一、常用Spring家族成员
1、Spring
Spring是一个轻量级的开源应用框架,旨在降低应用程序开发的复杂度。Spring具有以下特性:
(1)轻量级;
(2)非侵入性;
(3)使用IOC容器管理对象的生命周期以及对象间的依赖关系;
(4)面向切面编程(AOP)。
2、SpringMVC
SpringMVC是Spring的一个模块,一个web框架。通过DispatcherServlet,ModelAndView和ViewResolver使得开发web应用变得简单方便。主要针对的是网站应用程序或服务开发——URL路由、Session、模板引擎、静态web资源等等。
3、SpringBoot
因为Spring的配置非常复杂,各种xml,properties处理起来比较繁琐。为了简化开发者的使用,Spring社区创造性地推出了SpringBoot。SpringBoot遵循约定优于配置的原则,极大程度降低了Spring使用门槛,但又不失Spring原本灵活强大的功能。SpringBoot具有以下优点:
简化配置、简化编码、简化部署、简化监控。
4、SpringCloud
SpringCloud构建与SpringBoot之上,是一个关注全局的服务治理框架。
二、区别与联系
1、Spring和SpringMVC
(1)Spring是一个一站式的轻量级的Java开发框架,核心是控制反转(IOC)和面向切面编程(AOP),针对开发的WEB层(SpringMVC)、业务层(IOC)、持久层(jdbcTemplate)等都提供了多种配置解决方案;
(2)SpringMVC是在Spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分。
2、SpringMVC和SpringBoot
(1)SpringMVC属于一个企业WEB开发的MVC框架,涵盖面包括前端视图开发,文件配置,后台接口逻辑开发等,XML、Config等配置相对比较繁琐复杂;
(2)SpringBoot框架相对于SpringMVC框架来说,更专注于开发微服务后台接口,不开放前端视图。
3、SpringBoot和SpringCloud
(1)SpringBoot基于约定大于配置的理念,集成了快速开发的Spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务;
(2)SpringCloud大部分的功能插件都是基于SpringBoot去实现的,SpringCloud关注于全局的微服务整合和管理,将多个SpringBoot单体微服务进行整合以及管理;SpringCloud依赖于SpringBoot开发,而SpringBoot可以独立开发。
三、总结
(1)Spring是核心,提供了基础功能;
(2)SpringMVC是基于Spring的一个MVC框架;
(3)SpringBoot是为简化Spring配置的快速开发整合包;
(4)SpringCloud是构建在SpringBoot之上的服务治理框架。
声明:本文部分内容整理来源于网络,仅做个人学习使用!侵删~