欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 一文彻底搞懂Spring, Spring MVC, Spring Boot 和 Spring Cloud 区别

一文彻底搞懂Spring, Spring MVC, Spring Boot 和 Spring Cloud 区别

2024/10/24 16:30:14 来源:https://blog.csdn.net/li396864285/article/details/141829749  浏览:    关键词:一文彻底搞懂Spring, Spring MVC, Spring Boot 和 Spring Cloud 区别

1.定义说明

Spring, Spring MVC, Spring Boot 和 Spring Cloud 是Spring家族中的四个不同的项目,它们有各自的功能,并且可以在Spring应用程序中一起使用。

1)Spring

Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。它提供了一系列基础功能和依赖注入(DI)机制,最核心的功能就是控制反转(IOC)和面向切面编程(AOP)。Spring分为 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web 和 Spring Web MVC七个部分。

2)Spring MVC

Spring MVC是一个模型视图控制器(MVC)框架,用于创建web应用程序,属于Spring框架的一部分。当我们声明Controller方法时,SpringMVC将Controller方法与uri请求资源映射绑定,当客户端发送http请求,服务器控制器(由DispatcherServlet实现),率先处理请求,并将请求转发到绑定uri的controller方法,方法处理完毕返回响应报文。

3)Spring Boot

Spring Boot是一个用于简化Spring应用程序初始搭建以及开发过程的工具,在2014年4月发布。它提供了一种快速开始应用的方式,倡导约定大于配置,将很多集成配置的工作,内置成默认配置,去繁从简,帮助开发者快速开发和运行Spring应用。

比如应用集成了spring-boot-web-starter,该应用就拥有了web的能力,应用集成了spring-boot-starter-data-redis,该应用就具备快速集成redis服务的能力。

4)Spring Cloud

Spring Cloud是一系列框架的有序集合,基于 Spring Boot 框架,它将市面上较好的微服务框架集成进来,如服务注册发现、配置中心、消息总线、负载均衡、服务限流熔断、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。它是一套工具服务,提供了快速构建分布式系统的服务工具,在2015 年 3 月发布。

比如应用集成spring-cloud-config-server,该应用就成了配置中心服务端,应用集成spring-cloud-config-client,那应用就成了配置中心客户端。

2.总结说明

一句话总结:

1)Spring 是整套开源框架运转的核心;

2)SpringMVC是专门实现Web开发的视图控制器框架;

3)SpringBoot 使应用快速集成某个服务,或拥有某个工具类型的功能;

4)SpringCloud 使应用快速变成某个服务,或拥有某个工具类型的功能;

3.举例说明

1)Spring MVC举例

以下是一个简单的Spring MVC应用程序的例子:

@Controller
public class HelloWorldController {@RequestMapping("/hello")@ResponseBodypublic String hello() {return "Hello, World!";}
}

在这个例子中,我们创建了一个简单的Spring MVC控制器,它处理"/hello"的请求并返回"Hello, World!"。

2)Spring Boot举例

Spring Boot和Spring Cloud可以用于快速搭建和部署Spring应用程序,例如:

@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}

在这个Spring Boot应用程序中,我们使用@SpringBootApplication注解来启动Spring应用程序,并通过SpringApplication.run()方法运行它。

3)Spring Cloud举例

Spring Cloud可以用于服务发现和配置管理,例如使用Spring Cloud Netflix的Eureka:

@EnableEurekaClient
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

在这个例子中,我们使用@EnableEurekaClient注解来标记应用程序作为Eureka客户端,Eureka是一种服务发现机制,可以帮助我们快速地在分布式系统中找到服务。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com