大家好,又见面了,我是你们的朋友全栈君。
Spring
是一个技术生态体系,是集大成者。它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以参考链接:https://spring.io/projects 下图为部分内容。
Spring Framework
是一个一站式轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层、业务层、持久层等都提供了多种配置解决方案。
是整个spring生态的基石,为依赖注入、事务管理、WEB应用、数据访问等提供了核心的支持。Spring Framework专注于企业级应用程序的“管道”,以便开发团队可以专注于应用程序的业务逻辑。
缺点:由于它自身并非容器,所以基本上不得不随JavaEE容器启动而装载,例如Tomcat、Jetty、JBoss等。
Spring MVC
是Spring Framework基础之上的一个WEB开发的MVC框架,MVC指的就是MVC设计模式,模型(Model)、视图(View)、控制器(Controller)。主要处理WEB开发的路径映射和视图渲染,XML、config等配置相对比较繁琐复杂。
Spring Boot
是Spring Framework的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,为快速启动且最小化配置的spring应用而设计。
以前的Java Web开发模式:Tomcat + WAR包。WEB项目基于Spring Framework,项目目录一定要是标准的WEB-INF + classes + lib,大量的xml配置。
Spring Boot约定大于配置,集成了多个用于快速开发的Spring Framework插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置。
Spring Cloud
是一整套基于Spring Boot的微服务解决方案。它为开发者提供了很多工具,用于快速构建分布式系统的一些通用模式,例如:配置管理、注册中心、服务发现、限流、网关、熔断、链路追踪等。
Spring Boot是build anything,而Spring Cloud是coordinate anything,它关注于全局的微服务整合和管理,将多个Spring Boot单体微服务进行整合以及管理。Spring Cloud完整组件参考链接:https://spring.io/projects/spring-cloud。
总结
-
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring的ioc、aop等。 ioc 提供了依赖注入的容器, aop解决了面向横切面编程,然后在此两者的基础上实现了其他延伸产品的高级功能。
-
Spring MVC是基于Servlet 的一个MVC框架主要解决WEB开发的问题,因为Spring Framework的配置非常复杂,各种XML、JavaConfig、servlet处理起来比较繁琐。
-
为了简化开发者的使用,从而创造性地推出了Spring Boot框架,默认优于配置,简化了Spring MVC的配置流程;但区别于Spring MVC的是,Spring Boot专注于微服务方面的接口开发,和前端解耦。
-
Spring Cloud框架和Spring Boot一样,注重的是微服务的开发,但是Spring Cloud更关注的是全局微服务的整合和管理,相当于管理多个Spring Boot框架的单体微服务。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137854.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...