SpringBoot 介绍
Spring Boot是用于创建微服务的基于Java的开源框架。它是由Pivotal Team开发的,用于构建独立的和生产就绪的弹簧应用程序。本章将向您介绍Spring Boot,并使您熟悉其基本概念。
Spring与Spring Boot对比
Spring: Spring框架是最流行的Java应用程序开发框架。 Spring框架的主要功能是依赖注入或控制反转(IoC)。借助Spring Framework,我们可以开发一个松耦合的应用程序。如果纯粹定义应用程序类型或特征,最好使用。
SpringBoot: Spring Boot是Spring Framework的模块。它允许我们构建具有最少配置或零配置的独立应用程序。如果我们要开发一个简单的基于Spring的应用程序或RESTful服务,最好使用它。
Spring和Spring Boot之间的主要比较讨论如下:
Spring | Spring Boot |
Spring Framework是用于构建应用程序的广泛使用的Java EE框架。 | SpringBoot Framework 被广泛用于开发 REST API 。 |
它旨在简化Java EE开发,从而使开发人员更加高效。 | 它旨在缩短代码长度,并提供开发 Web应用程序的最简单方法。 |
Spring Framework的主要功能是依赖注入。 | Spring Boot的主要功能是自动配置。它会根据需求自动配置类。 |
通过允许我们开发松耦合应用程序,可以使事情变得更简单。 | 它有助于创建配置更少的独立应用。 |
开发人员编写了大量代码(模板代码)来完成最小的任务。 | 它减少样板代码。 |
要测试Spring项目,我们需要显式设置服务器。 | SpringBoot提供了嵌入式服务器,例如 Jetty 和 Tomcat 等。 |
它不支持内存数据库。 | 它提供了多个插件来处理嵌入式和内存中数据库,例如 H2 。 |
开发人员在 pom.xml 中为Spring项目手动定义依赖项。 | Spring Boot在pom.xml文件中带有 starter 概念,该概念内部负责根据Spring Boot要求下载依赖项 JAR 。 |
Spring Boot与Spring MVC
Spring Boot: SpringBoot使得快速引导和开始开发基于Spring的过程变得容易。应用。它避免了很多样板代码。它隐藏了很多复杂的信息,因此开发人员可以快速入门并轻松开发基于Spring的应用程序。
Spring MVC: Spring MVC是用于以下方面的Web MVC框架: 构建Web应用程序。它包含许多用于各种功能的配置文件。这是一个面向HTTP的Web应用程序开发框架。
Spring Boot和Spring MVC出于不同的目的而存在。下面讨论了Spring Boot和Spring MVC之间的主要比较:
SpringBoot | SpringMVC |
SpringBoot 是Spring的模块,用于使用合理的默认值打包基于Spring的应用程序。 | SpringMVC 是Spring框架下基于模型视图控制器的Web框架。 |
它提供了用于构建 Spring-powered 框架的默认配置。 | 它提供了易于使用功能来构建Web应用程序。 |
无需手动构建配置。 | 它需要手动进行构建配置。 |
不需要部署描述符。 | 必需。 |
它避免了样板代码,并将依赖项包装在一个单元中。 | 它分别指定每个依赖项。 |
它减少开发时间并提高生产率。 | 要花费相同的时间,要花费更多。 |
Spring Boot体系结构
SpringBoot是Spring框架的模块。它用于轻松创建独立的生产级基于Spring的应用程序。它是在核心Spring框架的顶部开发的。
SpringBoot遵循一个分层的体系结构,其中每一层都与它的直接下层或上层(层次结构)进行通信。
之前了解 SpringBoot Architecture 后,我们必须了解其中的不同层和类。 SpringBoot中有四个层,如下所示:
展示层 业务层 持久层 数据库层
展示层: 表示层负责处理HTTP请求,将JSON参数转换为对象,并对请求进行身份验证并将其传输到业务层。简而言之,它由视图即前端部分组成。
业务层: 业务层处理所有业务逻辑 >。它由服务类组成,并使用数据访问层提供的服务。它还执行授权和验证。
持久层: 持久层包含所有存储逻辑,并将业务对象与数据库行进行相互转换。
数据库层: 在数据库层中, CRUD (创建,检索,更新,
Spring Boot Flow Architecture
现在我们有验证器类,视图类和实用程序类。 Spring Boot使用类似于Spring MVC,Spring Data等的所有模块。SpringBoot的体系结构与Spring MVC的体系结构相同,不同之处在于: 不需要 DAO 和 DAOImpl 类在Spring启动中。创建数据访问层并执行CRUD操作。客户端发出HTTP请求(PUT或GET)。请求发送到控制器,然后控制器映射该请求并进行处理。之后,如果需要,它将调用服务逻辑。在服务层中,所有业务逻辑都将执行。它对通过类映射到JPA的数据执行逻辑。如果没有发生错误,则会将JSP页面返回给用户。