Spring、SpringMVC、SpringBoot、SpringCloud的关系与区别
对于我这个初级java程序员来说,在没有领路人的情况下,一直以来对于技术都是拿来即用,有时候也会想去了解一下自己用的技术吧,但转念一想,技术不都是拿来用的吗?能在自己项目上跑起来就好了啊,事实上,毕业至今真让我一路磕磕碰碰走过来了,却是让我多走了许多的弯路。学而不思则罔,思而不学则殆。废话不多说,好记性不如写博客。
Spring
Spring是一个生态体系(也可以说是技术体系),是集大成者,它包含了Spring Framework、Spring Boot、Spring Cloud、Spring Cloud Data Flow、Spring Data、Spring Integration、Spring Batch、Spring Security、Spring hateoas等等,是一站式的轻量级java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对与开发的WEB层(SpringMVC)、业务层(Ioc)、持久层(JDBC Template)等都提供了多种配置解决方案;
SpirngMVC
SpringMVC是Spring框架的一个模块,是基于MVC(Model-view-controller一种设计模式)的WebFramework模块。
SpirngBoot
SpringBoot使用了默认大于配置的理念,集成了快速开发的Spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务。
SpirngCloud
SpringCloud大部分的功能插件都是基于SpringBoot去实现的,SpringCloud关注于全局的微服务整合和管理,将多个SpringBoot单体微服务进行整合以及管理;SpringCloud依赖于SpringBoot开发,而SpringBoot可以独立开发。
总体来说,Spring与SpringBoot像是父子关系,而SpringCloud更像一个由SpringBoot组建起来的一个大家庭。
以上内容有自己的一丢丢理解,其他的大部分依赖于网络信息的查询。如有冒犯之处请联系我进行删改。