目录
Spring、Spring Boot、Spring Cloud的关系
由Spring衍生出来的Spring Boot,极大地简化了使用Spring开发应用程序的过程,成为当下的热点技术。
Spring简介
Spring Boot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring 4.0设计,初衷是简化使用Spring开发应用程序的过程,避免繁琐的配置工作,开发人员使用Sping Boot可以只专注于实现应用程序的功能和业务逻辑。
Spring Boot的特点
- 约定优于配置
- 创建的独立运行的Spring应用程序
- 内嵌Servlet容器
- 提供starter简化Maven配置
- 自动配置Spring
- 准生产的应用监控
- 无代码生成和XML配置
Spring、Spring Boot、Spring Cloud的关系:
(1)Spring
Spring是于2003年兴起的一个开源的轻量级的Java开发框架,由罗德・约翰逊(Rod Johnson)开发。它是为了降低企业应用程序开发的复杂度而创建的,主要优势之一就是其分层架构,分层架构允许使用者选择使用某个组件,同时为Java EE应用程序开发提供集成的框架。
它提供了一些依赖注入和开箱即用的模块,如:Spring MVC、Spring JDBC、Spring Security、Spring AOP、Spring IoC、SpringORM和Spring Test。这些模块为程序员节省了大量的应用程序开发时间,提高了开发程序的效率。
(2)Spring Boot
Spring Boot是Spring的扩展和自动化配置,它省去了在Spring中需要进行的XML文件配置过程,使得开发过程变得更快、更高效、更自动化。
Spring Boot可以理解为构建工程的脚手架,是目前Spring全家桶系列中最流行的一个产品,在Spring官网的介绍排在第一位,可见对其重视程度,通过Spring Boot 可以快速构建一个基于Spring的独立生存级别的应用程序,开发者直接运行程序即可,无需处理各种繁琐的配置文件。可以说它就是为了让开发者快速启动和运行Spring应用程序而设计的。
(3)Spring Cloud
Spring Cloud是一套分布式服务治理框架,主要用于开发微服务。它本身不提供具体功能性的操作,只专注与服务之间的通信、熔断和监控等。它利用Spring Boot的开发便利性巧妙的简化了分布式系统基础设施的开发过程,如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
微服务是可以独立部署、水平扩展、独立访问的服务单元。Spring Cloud是这些微服务的”首席技术官“(Chief Technology Officer,CTO),它可以提供各种方案来维护整个生态。
(4)三者关系
Spring Cloud通过Spring Boot来开发微服务,而Spring Boot依赖Spring,它是Spring的自动化配置。
下面我将从两个方面来给大家介绍MVC,第一是SpringMVC的概念及原理,二是SpringMVC的优缺点。
一、SpringMVC的概念以及原理
MVC全名是Model View Controller。
MVC模型
- 是模型(model)-视图(view)-控制器(controller)的缩写。
- 是一种使用mvc设计创建 Web 应用程序的模式。
- 是一种软件设计典范。
- 是软件工程中的一种软件架构模式。
MVC将业务逻辑、数据、界面显示分离的方法组织代码,在改变其中一层时,另外两层可能不需要改变,或作较少的修改即可。
执行流程
Model(模型)
表示应用程序核心。
是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)
显示数据(数据库记录)。
是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)
是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC原理
MVC原理是View接收用户输入,发送请求给Controller,Controller调用Module完成具体操作。Module从数据库获取数据并进行业务逻辑判断,然后触发事件也就是间接返回数据给View。
二、MVC优缺点
MVC优点:
- 重用性高。
- 生命周期成本低,MVC使开发和维护用户接口的技术含量降低。
- 可维护性高。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
- 耦合性低。MVC 分层有助于管理复杂的应用程序,简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑,提高开发效率。
MVC缺点:
- 不适合小型,中等规模的应用程序。花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。
- 增加系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
- 视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
以上是我对Spring Boot和MVC的初步了解,如果大家想详细了解可以点击这里进行学习哦,以上说法如有任何不正确的欢迎大家纠正。