SpringBoot开发——初步了解SpringBoot

文章目录* 一、SpringBoot简介* * 1、什么是Spring Boot * 2、Spring Boot的优点 * 3、Spring Boot功能* 二、Spring与Spring Boot对比* 三、Spring Boot与Spring MVC* 四、Spring Boot体系结构* 五、Springboot Initializr* * 1、Spring Initializr * 2、Spring Initializr模块一、SpringBoot简介--------------### 1、什么是Spring BootSpring Boot是一个构建在Spring框架顶部的项目。它提供了一种简便,快捷的方式来设置,配置和运行基于Web的简单应用程序。它是一个Spring模块,提供了 RAD(快速应用程序开发)功能。它用于创建独立的基于Spring的应用程序,因为它需要最少的Spring配置,因此可以运行。 简而言之,Spring Boot是 Spring Framework 和 嵌入式服务器的组合。在Spring Boot不需要XML配置(部署描述符)。它使用约定优于配置软件设计范例,这意味着可以减少开发人员的工作量。 我们可以使用Spring STS IDE 或 Spring Initializr 进行开发Spring Boot Java应用程序。与Spring Boot框架一起,其他许多Spring姐妹项目也有助于构建满足现代业务需求的应用程序。 Spring姐妹项目如下:* Spring Data: 它简化了来自关系数据库和 NoSQL 数据库的数据访问。* Spring Batch: 它提供了强大的批处理处理。* Spring Security: 这是一个安全框架,可为应用程序提供强大的安全性。* Spring Social: 它支持与LinkedIn等社交网络集成。* Spring Integration: 它是企业集成模式的实现。使用轻量级消息传递和声明性适配器,它有助于与其他企业应用程序集成。### 2、Spring Boot的优点* 不需要web.xml* 不需要springmvc.xml* 不需要tomcat,SpringBoot内嵌了tomcat* 不需要配置JSON解析,支持REST架构* 个性化配置也非常简单* 它创建独立 Spring应用程序,这些应用程序可以使用Java -jar 启动。### 3、Spring Boot功能* Web开发* SpringApplication* 应用程序事件和侦听器* 应用管理* 外部配置* 属性文件* YAML支持* 类型安全配置* 日志* 安全性Web开发 这是用于Web应用程序开发的非常适合的Spring模块。我们可以轻松创建一个独立的HTTP应用程序,该应用程序使用 TomcatJettyUndertow等嵌入式服务器。我们可以使用 spring-boot-starter-web 模块快速启动和运行应用程序。SpringApplication SpringApplication是一个类,提供了一种方便的方式来引导Spring应用程序。可以从main方法开始。我们可以仅通过调用静态run()方法来调用应用程序。 示例: public static void main(String\[\] args) { SpringApplication.run(ClassName.class, args); } 应用程序事件和侦听器 Spring Boot使用事件来处理各种任务。它允许我们创建用于添加侦听器的工厂文件。我们可以使用 ApplicationListener键来引用它。 总是在META-INF文件夹中创建工厂文件,例如 META-INF/spring.factories 。应用管理 Spring Boot提供了为应用程序启用与管理员相关的功能的功能。它用于远程访问和管理应用程序。我们可以使用 spring.application.admin.enabled 属性在Spring Boot应用程序中启用它。外部配置 Spring Boot允许我们外部化我们的配置,以便我们可以在不同环境中使用同一应用程序。该应用程序使用YAML文件来外部化配置。属性文件 Spring Boot提供了一组丰富的 应用程序属性。因此,我们可以在项目的属性文件中使用它。该属性文件用于设置诸如 server-port = 8082 等属性。它有助于组织应用程序属性。YAML支持 它提供了一种方便的方法来指定层次结构。它是JSON的超集。 SpringApplication类自动支持YAML。它是属性文件的代替方法。类型安全配置 强大的类型安全配置用于管理和验证应用程序的配置。应用程序配置始终是至关重要的任务,应该是类型安全的。我们还可以使用此库提供的注释。日志 Spring Boot对所有内部记录都使用通用记录。默认情况下管理日志记录依赖项。如果不需要自定义,我们不应更改日志记录依赖项。安全性 Spring Boot应用程序是spring的Web应用程序。因此,默认情况下,通过所有HTTP端点上的基本身份验证,它是安全的。可以使用一组丰富的端点来开发安全的Spring Boot应用程序。二、Spring与Spring Boot对比----------------------Spring Boot是用于创建微服务的基于Java的开源框架。它是由Pivotal Team开发的,用于构建独立的和生产就绪的弹簧应用程序。Spring: Spring框架是最流行的Java应用程序开发框架。 Spring框架的主要功能是依赖注入或控制反转(IoC)。借助Spring Framework,我们可以开发一个松耦合的应用程序。如果纯粹定义应用程序类型或特征,最好使用。 SpringBoot: Spring Boot是Spring Framework的模块。它允许我们构建具有最少配置或零配置的独立应用程序。如果我们要开发一个简单的基于Spring的应用程序或RESTful服务,最好使用它。Spring和Spring Boot之间的主要比较讨论如下:SpringSpring BootSpring Framework是用于构建应用程序的广泛使用的Java EE框架。SpringBoot Framework被广泛用于开发 REST API。它旨在简化Java EE开发,从而使开发人员更加高效。它旨在缩短代码长度,并提供开发 Web应用程序的最简单方法。Spring Framework的主要功能是依赖注入。Spring Boot的主要功能是自动配置。它会根据需求自动配置类。通过允许我们开发松耦合应用程序,可以使事情变得更简单。它有助于创建配置更少的独立应用。开发人员编写了大量代码(模板代码)来完成最小的任务。它减少样板代码。要测试Spring项目,我们需要显式设置服务器。SpringBoot提供了嵌入式服务器,例如 JettyTomcat 等。它不支持内存数据库。它提供了多个插件来处理嵌入式和内存中数据库,例如 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之间的主要比较:SpringBootSpringMVCSpringBoot 是Spring的模块,用于使用合理的默认值打包基于Spring的应用程序。SpringMVC 是Spring框架下基于模型视图控制器的Web框架。它提供了用于构建 Spring-powered 框架的默认配置。它提供了易于使用功能来构建Web应用程序。无需手动构建配置。它需要手动进行构建配置。不需要部署描述符。``必需。它避免了样板代码,并将依赖项包装在一个单元中。它分别指定每个依赖项。它减少开发时间提高生产率。要花费相同的时间,要花费更多。四、Spring Boot体系结构-----------------SpringBoot是Spring框架的模块。它用于轻松创建独立的生产级基于Spring的应用程序。它是在核心Spring框架的顶部开发的。 SpringBoot遵循一个分层的体系结构,其中每一层都与它的直接下层或上层(层次结构)进行通信。之前了解 SpringBoot Architecture 后,我们必须了解其中的不同层和类。 SpringBoot中有四个层,如下所示:* 展示层* 业务层* 持久层* 数据库层 展示层: 表示层负责处理HTTP请求,将JSON参数转换为对象,并对请求进行身份验证并将其传输到业务层。简而言之,它由视图即前端部分组成。业务层: 业务层处理所有业务逻辑 。它由服务类组成,并使用数据访问层提供的服务。它还执行授权验证持久层: 持久层包含所有存储逻辑,并将业务对象与数据库行进行相互转换。数据库层: 在数据库层中, CRUD (创建,检索,更新,删除)五、Springboot Initializr-----------------------### 1、Spring InitializrSpring Initializr 是Pivotal Web服务提供的 基于网络的工具。借助 Spring Initializr ,我们可以轻松生成 Spring Boot Project 的结构。它提供了用于创建基于JVM的项目的可扩展API。它还为项目提供了以元数据模型表示的各种选项。元数据模型使我们能够配置JVM和平台版本等支持的依赖项列表。它以众所周知的方式提供元数据,从而为第三方客户端提供必要的帮助。### 2、Spring Initializr模块Spring Initializr具有以下模块:* initializr-actuator: : 它提供有关项目生成的其他信息和统计信息。这是一个可选模块。* initializr-bom: : 在此模块中, BOM 代表物料清单。在Spring Boot中,BOM是一种特殊的 POM ,用于控制项目依赖项的版本。它提供了一个中心位置来定义和更新这些版本。它提供了灵活性,可以在我们的模块中添加依赖项而无需担心版本。 在软件世界之外, BOM 是创建产品所需的零件,项目,组件和其他材料的列表。它说明了如何,如何和在何处收集所需材料。* initializr-docs: : 它提供了文档。* initializr-generator: : 这是一个核心项目生成库。* initializr-generator-spring:* initializr-generator-test: : 它提供了用于项目生成的测试基础结构。* initializr-metadata: : 它为项目的各个方面提供了元数据基础结构。* initializr-service-example : 它提供自定义实例。* initializr-version-resolver: 是一个可选模块,用于从任意POM中提取版本号。* initializr-web : 它为第三方客户端提供Web端点。
相关推荐
旧梦952718 分钟前
Java 单例模式:从基础到实战的完整指南
java·开发语言·单例模式
jay神27 分钟前
【计算机毕业设计】基于Spring Boot的宠物领养管理系统
java·spring boot·后端·vue·毕业设计·宠物
cfm_291432 分钟前
5种Java并发同步工具全解
java
十五喵源码网36 分钟前
基于SpringBoot2+vue2的健身房管理系统
java·毕业设计·springboot·论文笔记
2601_9620566039 分钟前
可造成敏感信息泄露!Spring Boot之Actuator信息泄露漏洞三种利用方式总结
java·spring boot·后端
码视野1 小时前
基于 Spring Boot + Vue3 的【城市道路地下空洞塌陷微动传感监测与路面脱空沉降预警中台】设计与实现(含PRD/三端高保真源码/大屏)
vue.js·spring boot·后端
garmin Chen1 小时前
redis面试题
java·数据库·redis·缓存
chen<>2 小时前
C++ 六种 memory_order:从原子性到线程间可见性.md
java·linux·开发语言·c++
十年Java程序媛2 小时前
SpringBoot3 + JDK17 实战复盘:HikariCP 连接耗尽,虚拟线程场景额外注意事项
java·spring boot