Spring Boot 框架知识汇总

1、什么是SpringBoot?
通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行"它们。大多数Spring Boot应用程序需要最少的Spring配置,集成了大量常用的第三方库配置,使得这些库在Spring Boot应用中几乎可以零配置地开箱即用。
2、SpringBoot的特征?
◆ 创建独立的Spring应用程序,Spring Boot应用程序可以作为独立的可执行JAR或WAR文件运行,这使得部署和分发变得非常简单。
◆ 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
◆ 提供固化的“starter"依赖项,以简化构建配置
◆ 尽可能自动配置Spring 和3rd Party库
◆ 提供可用于生产的功能,例如指标,运行状况检查和外部化配置
◆ 完全没有代码生成,也不需要XML配置
3、如何快速构建一个SpringBoot项目?
◆ 通过Web界面使用。http://start.spring.io
◆ 通过Spring Tool Suite使用。
◆ 通过IntelliJ IDEA使用。
◆ 使用Spring Boot CLI使用。
4、SpringBoot启动类注解是啥,它是由哪些注解组成?
@SpringBootApplication
这是Spring Boot项目的核心注解,通常放在主类上。它实际上是@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan的组合,也可以用这三个注解来代替 @SpringBootApplication 注解。
◆ @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
◆ @EnableAutoConfiguration: 打开自动配置的功能,也可以关闭某个自动配置的选项。
◆ @ComponentScan:Spring 组件扫描,自动扫描包路径下的 @Component 注解进行注册 bean 实例到 context 中。
5、什么是yaml?
YAML文件格式是Spring Boot支持的一种JSON超集文件格式,以数据为中心,比properties、xml等更适合做配置文件。
YAML(/'iamal/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl。更具有结构性。
◆ yml和xml相比,少了一些结构化的代码,使数据更直接,一目了然
◆ 相比properties文件更简洁
◆ yaml文件的扩展名可以使用.yml或者.yaml。
◆ application.yml文件使用 “key:(空格)value”格式配置属性,使用缩进控制层级关系。

spring:profiles:active: test
swagger:production: falsebasic:enable: falseusername: jeecgpassword: jeecg1314

6、SpringBoot 支持配置文件的格式
(1) properties
java.microservice.name=leishi
(2) yml
java :
microservice:
name:leishi
7、SpringBoot启动方式?
◆ main方法
◆ 命令行 java -jar 的方式
◆ mvn/gradle
8、application.properties 和 application.yml 文件可放位置及优先级
1).外置,在相对于应用程序运行目录的/config子目录里。
2). 外置,在应用程序运行的目录里。
3). 内置,在config包内。
4). 内置,在Classpath根目录。
这个列表按照优先级排序,优先级高的会覆盖优先级低的。
当然我们可以自己指定文件的位置来加载配置文件,如

java -jar xiaoka.jar-spring.config.location=/home/application.yml

如果是2.4.0之前版本,优先级properties>yaml;但是如果是2.4.0的版本,优先级yaml>properties。
9、bootstrap.yml 和 application.yml
bootstrap.yml 优先于application.yml
10、SpringBoot如何修改端口号?
除了在配置文件 yml 和properties 中修改 server.port 的值外,还可以启动时用命令修改:
命令1:

java -iar leishi.jar --server.port=8080

命令2:

java-Dserver.port=8080 -jar leishi.jar

11、SpringBoot 配置监控

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

12、针对请求访问的几个组合注解?
◆ @PatchMapping
◆ @PostMMapping
◆ @GetMMapping
◆ @PutMapping
◆ @DeleteMMapping
13、SpringBoot 中的 starter
可以理解成对依赖的一种合成,starter会把一个或一套功能相关依赖都包含进来,避免了自己去依赖费事,还有各种包的冲突问题。大大的提升了开发效率。
并且相关配置会有一个默认值,如果我们自己去配置,就会覆盖默认值。
14、SpringBoot 集成 Mybatis
mybatis-spring-boot-starter
15、不同的环境的配置文件
可以是 application-{profle}.properties/yml,但默认是启动主配置文件application.properties,一般来说我们的不同环境配置如下。
◆ application.properties:主配置文件
◆ application-dev.properties:开发环境配置文件
◆ application-test.properties:测试环境配置文件
◆ application.prop-properties:生产环境配置文件
16、如何激活某个环境的配置?
比如我们激活开发环境。
(1) yml 文件配置:

spring:profiles:active: dev

(2) properties 文件配置:

spring.profiles.active=dev

(3) 命令行:

java -jar leishi-v1.0.jar.--spring.profiles.active=dev

17、编写测试用例的注解
@SpringBootTest
18、SpringBoot 异常处理相关注解
◆ @ControllerAdvice
ControllerAdvice是Spring框架中的一个注解,用于增强Controller的功能。它可以应用于整个应用程序中的所有Controller,或者通过指定包或注解来应用于特定的Controller。这个注解主要用于全局处理一些共通的操作或处理,例如全局异常处理、全局数据绑定、全局数据预处理等。
它通常注解在类上
◆ @ExceptionHandler
它注解在具体的异常方法上,例如

// 你还可以为特定的异常类型定义处理方法
@ExceptionHandler(value = CustomException.class)
public ResponseEntity<Object> handleCustomException(CustomException ex) {return new ResponseEntity<>("自定义异常:" + ex.getMessage(), HttpStatus.BAD_REQUEST);
}

19、SpringBoot 读取配置相关注解有
◆ @PropertySource
◆ @Value
◆ @Environment
◆ @ConfigurationProperties

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React有哪些应用场景

React 是一个由 Facebook 开发并广泛使用的 JavaScript 库&#xff0c;专门用于构建用户界面。由于其灵活性和强大的生态系统&#xff0c;React 被广泛应用于多种场景。以下是一些 React 的主要应用场景&#xff1a; 1. 单页面应用&#xff08;SPA&#xff09; React 的组件化…

在Anaconda环境中安装TensorFlow+启动jupyter notebook

1.打开cmd&#xff0c;输入C:\Users\xy>conda create -n tensorflow python3.7 这是在环境中创建了一个名为tensorflow的环境&#xff0c;具体会显示以下信息&#xff1a; C:\Users\xy>conda create -n tensorflow python3.7 Retrieving notices: ...working... done Co…

springboot把 EXCEL 文件以流的形式返回给前端

1.controller层 GetMapping(ReviewUrls.API_DOWNLOAD_REVIEW_RESULT)public Response<Void> downloadReviewResult(HttpServletResponse response) {resultService.downloadReviewResult(response);return Response.ok();}2.service层 public void downloadReviewResult(…

海豚调度器执行impla工作流成功但没跑出数据原因和解决方案

在海豚调度器(DolphinScheduler)中执行Impala离线脚本时出现执行状态成功但实际上未产出数据&#xff0c;之后重跑又能成功的情况&#xff0c;可能是由多种因素引起的。下面是一些可能的原因及对应的解决方案&#xff1a; 可能原因及解决方案 资源限制或并发冲突 原因&#x…

Python实战Elasticsearch的核心技巧详解

概要 Elasticsearch 是一个分布式的搜索引擎,可以用于全文搜索、结构化搜索、分析等多种场景。它基于Lucene构建,提供了强大的搜索功能和数据分析能力。本文将详细介绍如何使用Python实现与Elasticsearch的交互,包括安装、配置、基本操作和实际应用示例。 安装和配置 安装…

centos单机配置多个内网IP地址

centos单机配置多个内网IP地址 引配置1. 查看当前网络IP配置2. 打开网络配置目录3. 设置静态IP4. 编辑ifcfg-eno1:15. 重启网络配置 引 同一个局域网&#xff0c;但是对接的多个子系统使用了不同的网段&#xff0c;如一个系统主机IP地址是192.168.10.1&#xff0c;另一个系统主…

基于B站视频评论的文本分析,采用包括文本聚类分析、LDA主题分析、网络语义分析

研究主题 本研究旨在通过对B站视频评论数据进行文本分析&#xff0c;揭示用户评论的主题、情感倾向和语义结构&#xff0c;助力商业决策。主要技术手段包括Python爬虫、LDA主题分析、聚类分析和语义网络分析。首先&#xff0c;利用Python爬虫采集大量评论数据并进行预处理。运…

license系统模型设计使用django models

User (用户)License (许可证)Product (产品)LicenseAssignment (许可证分配) 简单的模型定义&#xff1a; from django.db import models from django.contrib.auth.models import Userclass Product(models.Model):name models.CharField(max_length255)description model…

npm发布的包如何快速在cnpm上使用

npm发布的包如何快速在cnpm上使用 解决方案 前往淘宝npm镜像官网 搜索插件库并点击同步 等待一分钟即可查看最新版本

linux进程周边知识——内核对硬件的管理——计算机世界的管理

前言&#xff1a;本节主要讲解内核也就是操作系统对于硬件的管理&#xff0c; 本节内容同样为进程的周边知识。 主要是关于软件方面&#xff0c; 和我的上一篇——冯诺依曼体系结构可以说是兄弟文章&#xff0c; 这篇文章主要是关于硬件方面。 两篇文章都是为学习进程做准备。但…

小程序创建与项目初始化(构建 npm + 集成 Sass)

一、打开微信开发者工具 确认 左侧导航栏是否选中的 小程序点击 【】创建小程序 二、创建小程序 三、初始化 清空 app.wxss、app.js 去掉 rendererOptions 和 componentFramework 不需要最新的搜索引擎 留下以下文件 四、自定义构建 npm 集成 Sass 首先 先把小程序源…

Go 高效Web开发框架 Echo

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

QT获得本地IP以及MAC地址

getIPSttring():连接的ip以及端口号来返回本地的ip地址 getMacString() : 通过本地的ip地址获得该IP地址关联的网络接口的MAC地址 QString getIpString(QString ip, QString port) {QTcpSocket socket;int t_port port.toInt();socket.connectToHost(ip, t_port);if (socket…

WEB前端01-HTML5基础(01)

一.WEB相关概念 软件架构 C/S: Client/Server &#xff08;客户端/服务器端&#xff09;&#xff1a;在用户本地有一个客户端程序&#xff0c;在远程有一个服务器端程序 优点&#xff1a;用户体验好 缺点&#xff1a;开发、安装&#xff0c;部署&#xff0c;维护麻烦 B/S: Br…

Qt Qml编程 基础部分 认识qml

学习目标&#xff1a;认识Qml编程 学习内容 qml介绍 Qt QML 是一个用来设计和开发Qt应用程序用户界面的声明性语言。QML 是 Qt 的元对象语言(Meta-Object Language)的缩写。它与 C 一起使用,来为 Qt 应用程序创建用户界面。 QML 是一个标记语言,它允许开发人员使用类似 HTM…

Chapter 1:数据结构前言

在数字化的世界里&#xff0c;我们每天都在与数据打交道。然而&#xff0c;你是否曾想过&#xff0c;这些数据是如何被组织、存储和处理的&#xff1f;这就是数据结构的魅力所在。 数据结构&#xff0c;简单来说&#xff0c;就是数据的组织方式。它决定了我们如何高效地访问和操…

一文学会鉴别“套壳”ChatGPT模型

一文学会鉴别“套壳”ChatGPT模型 随着ChatGPT等明星模型的诞生&#xff0c;市场上也开始出现一些“套壳”现象&#xff0c;即部分模型表面标榜原创或先进&#xff0c;实则在核心算法上与知名模型高度相似。作为技术探索者&#xff0c;如何拨开迷雾&#xff0c;识别这些“李鬼…

/EtherCATInfo/Descriptions/Devices/Device/SubDevice/@Hideable

SubDevice/Hideable 属性 /EtherCATInfo/Descriptions/Devices/Device/SubDevice/Hideable 出现次数&#xff1a;可选 (0…1)数据类型&#xff1a;布尔值 该属性仅应在列出所有子设备的主设备的 ESI 文件中使用。该属性表示配置工具是否可以隐藏相应的子设备。只有不需要配置…

sublime text中的配置好用的报错插件,代码检查插件sublimelinter,cppcheck,对C++的环境进行配置-2024.7.13版

文章目录 一&#xff0c;sublimelinter能实现什么&#xff1f;二、sublimelinter 的安装教程配置sublime text 的基础环境配置cppcheck的环境变量配置sublimelinter的配置文件 一&#xff0c;sublimelinter能实现什么&#xff1f; 因为sublime 不自带任何的代码检查工具&#…

理解CNN中的Batch Normalization (补充 知乎博主)

理解CNN中的Batch Normalization - 知乎 (zhihu.com) https://zhuanlan.zhihu.com/p/403073810 BN层常见有针对1d特征&#xff08;全连接层后面的&#xff09; 举一个简单的例子吧 解释在全连接层&#xff08;Fully Connected Layer, FC Layer&#xff09;后加 BN 层时&#…