Spring,Spring Boot,Spring MVC和Spring Cloud

Spring :

Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。

Spring框架特征

1、轻量:从大小与开销两方面而言Spring都是轻量的。
2、控制反转:Spring通过一种称作控制反转(IoC)的技术促进了低耦合。
3、面向切面:Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
4、容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。
5、框架:Spring可以将简单的组件配置、组合成为复杂的应用。
6、MVC:Spring的作用是整合,但不仅仅限于整合,Spring 框架可以被看做是一个企业解决方案级别的框架。

Spring特点

1、方便解耦,简化开发
2、AOP编程的支持
3、声明式事务的支持
4、方便程序的测试
5、方便集成各种优秀框架
6、降低Java EEAPI的使用难度
7、其源码是经典学习范例

Spring的作用

其主要目的是使Java EE易用和促进好编程习惯。在Spring中没有日志记录的包、没有连接池、没有分布事务调度,而是由开源项目提供或者通过你的应用服务器来提供。
Spring的目标是使已存在的技术更加易用。
Spring在应用服务器之间是可移植的。

Spring Boot:

Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。

Spring Boot特征

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。

Spring Boot的优点

1、独立运行:Spring Boot中内嵌了各种Servlet容器,Tomcat,Jetty等,不需再打成war包部署到容器中,只要打成一个可执行的jar包就能独立运行,其所有的依赖包都在一个jar包内。
2、简化配置:spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置。
3、自动配置:能根据当前路径下的类、jar包来自动配置bean。
4、无代码生成和XML配置:在配置过程中,无代码生成,也无需XML配置文件就能完成所有配置工作,以上皆借助于条件注解完成。
5、应用监控:Spring Boot提供一系列端点可以监控服务及应用,做健康检测。

Spring Boot缺点

虽然上手容易,但是如果不了解其核心技术及流程,一旦遇到问题就会很棘手,而且现在的解决方案也不是很多,需要一个完善的过程。

Spring MVC:

Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。Spring MVC 是结构最清晰的Servlet+JSP+JavaBean 的实现,是一个典型的教科书式的 MVC 构架,不像 Struts 等其它框架都是变种或者不是完全基于 MVC 系统的框架。

Spring MVC优点

1、清晰的角色划分:Spring MVC 在 Model、View 和 Controller 方面提供了一个非常清晰的角色划分,这 3 个方面真正是各司其职,各负其责。
2、灵活的配置功能:可以把类当作Bean通过XML进行配置。
3、提供了大量的控制器和实现类:开发者可以使用Spring提供的控制器实现类,也可以自己实现控制器接口。
4、真正做到与View层的实现无关:他不会强制开发者使用JSP,可以根据项目需求使用Velocity、FreeMarker等技术。
5、国际化支持
6、面向接口编程
7、与Spring框架无缝集成

Spring MVC缺点

1、没有明确的定义
2、不适合小型、中型规模的应用程序
3、增加系统结构实现的复杂性
4、视图与控制器过于紧密的连接
5、视图对模型数据的低效率访问
6、一般高级的界面工具或构造器不支持模式

Spring Cloud

Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。
Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,Spring Cloud 就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,Spring Cloud 做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。

Spring Cloud对于中小型互联网公司来说是一种福音,因为这类公司往往没有实力或足够的资金投入去开发自己的分布式系统基础设施,使用Spring Cloud一站式解决方案能在从容应对业务发展的同时大大减少开发成本。同时,随着近几年微服务架构和Docker容器概念的火爆,也会让Spring Cloud在未来越来越“云”化的软件开发风格中立有一席之地.

总结

总结:Spring MVC和Spring Boot都属于Spring,Spring MVC 是基于Spring的一个 MVC 框架,而Spring Boot 是基于Spring的一套快速开发整合包。而Spring Cloud就是基于Spring Boot风格的封装的一系列框架的有序集合。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring BootSpring CloudSpring MVCSpring框架的不同模块,各自有不同的功能和用途。 1. Spring BootSpring Boot是用于快速构建独立的、生产级别的Spring应用程序的框架。它简化了Spring应用程序的配置和部署过程,并提供了一套默认的配置和约定,使开发者可以更专注于业务逻辑的实现。Spring Boot能够自动配置大部分常见的应用程序组件,如数据库、消息队列等,同时还提供了内嵌的Web服务器。 2. Spring CloudSpring Cloud是构建分布式系统和微服务架构的工具集合。它提供了多个有用的功能模块,如服务注册与发现、负载均衡、断路器、配置中心等,以帮助开发者构建弹性、可伸缩、高可用的分布式应用。Spring Cloud基于Spring Boot构建,可以与各种云平台和基础设施集成。 3. Spring MVCSpring MVCSpring框架中的一个模块,用于构建Web应用程序。它提供了一种基于MVC(Model-View-Controller)模式的Web开发方式,使开发者可以更好地组织和管理Web应用程序的代码。Spring MVC可以处理HTTP请求和响应,支持注解驱动的开发方式,并提供了丰富的功能和扩展点。 总结来说,Spring Boot用于快速构建独立的Spring应用程序,Spring Cloud用于构建分布式系统和微服务架构,而Spring MVC用于构建Web应用程序。它们可以相互配合使用,形成一个完整的、高效的应用程序开发和部署平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值