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
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
Spring Boot 框架知识汇总
1、什么是SpringBoot? 通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行"它们。大多数Spring Boot应用程序需要最少的Spring配置,集成了大量常用的第三方库配置,使…...
![](https://img-blog.csdnimg.cn/img_convert/a9e424999a2355f7a86b089de5501adc.png)
国产麒麟、uos在线编辑word文件并控制编辑区域(局部编辑)
windows系统也适用,该插件可同时支持windows和国产系统 在实际项目开发中,以下场景可能会用到Word局部编辑功能: 合同审批公文流转策划设计报告汇签单招投标(标书文件)其他,有模板且需要不同人员协作编辑…...
![](https://i-blog.csdnimg.cn/direct/706a89072afb4e2d84eb02469ae978aa.png)
Go:基本变量与数据类型
目录 前言 前期准备 Hello World! 一、基本变量 1.1 声明变量 1.2 初始化变量 1.3 变量声明到初始化的过程 1.4 变量值交换 1.5 匿名变量 1.6 变量的作用域 二、数据类型 1.1 整型 1.2 浮点型 1.3 字符串 1.4 布尔类型 1.5 数据类型判断 1.6 数据类型转换 1.…...
![](https://i-blog.csdnimg.cn/direct/ad16be0d99c74254b833f03e7f4f6edd.png)
计算器原生js
目录 1.HTML 2.CSS 2.JS 4.资源 5.运行截图 6.下载连接 7.注意事项 1.HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…...
![](https://img-blog.csdnimg.cn/img_convert/4d0f02fea7a3e042a4af614c9cd62eb7.png)
怎样将aac转换mp3格式?推荐四个aac转MP3的方法
怎样将aac转换mp3格式?当需要将aac格式音频转换为MP3格式时,有几种方法可以轻松实现这一目标。MP3是一种广泛支持的音频格式,几乎所有设备和平台都能播放MP3文件,包括各种音乐播放器、手机、平板电脑和汽车音响系统。而且它也提供…...
![](https://i-blog.csdnimg.cn/direct/9d623d21d89749379118fa73aac64911.png)
MongoDB - 查询操作符:比较查询、逻辑查询、元素查询、数组查询
文章目录 1. 构造数据2. MongoDB 比较查询操作符1. $eq 等于1.1 等于指定值1.2 嵌入式文档中的字段等于某个值1.3 数组元素等于某个值1.4 数组元素等于数组值 2. $ne 不等于3. $gt 大于3.1 匹配文档字段3.2 根据嵌入式文档字段执行更新 4. $gte 大于等于5. $lt 小于6. $lte 小于…...
![](https://i-blog.csdnimg.cn/direct/b2c1dc2a108d4d2685d0e220e388ce6e.png)
html5——CSS高级选择器
目录 属性选择器 E[att^"value"] E[att$"http"] E[att*"http"] 关系选择器 子代: 相邻兄弟: 普通兄弟: 结构伪类选择器 链接伪类选择器 伪元素选择器 CSS的继承与层叠 CSS的继承性 CSS的层叠性 …...
![](https://www.ngui.cc/images/no-images.jpg)
Python-数据爬取(爬虫)
~~~理性爬取~~~ 杜绝从入门到入狱 1.简要描述一下Python爬虫的工作原理,并介绍几个常用的Python爬虫库。 Python爬虫的工作原理 发送请求:爬虫向目标网站发送HTTP请求,通常使用GET请求来获取网页内容。解析响应:接收并解析HTTP响…...
![](https://i-blog.csdnimg.cn/direct/d8941d306b3b4cafbe93d9c37ad43478.png)
虚幻引擎ue5如何调节物体锚点
当发现锚点不在物体上时,如何调节瞄点在物体上。 步骤1:按住鼠标中键拖动锚点,在透视图中多次调节锚点位置。 步骤2:在物体上点击鼠标右键点击-》锚定--》“设置为枢轴偏移”即可。...
![](https://www.ngui.cc/images/no-images.jpg)
Xcode持续集成之道:自动化构建与部署的精粹
标题:Xcode持续集成之道:自动化构建与部署的精粹 在快节奏的软件开发中,持续集成(Continuous Integration, CI)是提升开发效率和软件质量的关键实践。Xcode作为苹果生态中的核心开发工具,提供了与多种持续…...
![](https://i-blog.csdnimg.cn/blog_migrate/91f00c13be86a5514f542efc7d47d593.png)
Java高频面试基础知识点整理13
干货分享,感谢您的阅读!背景高频面试题基本总结回顾(含笔试高频算法整理) 最全文章见:Java高频面试基础知识点整理 (一)Java基础高频知识考点 针对人员: 1.全部人员都…...
![](https://i-blog.csdnimg.cn/direct/6679ffe8c4284e14b02fd6f82cdef1d7.png)
css画半圆画圆弧
利用border-radius和border完成: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> <style> .semicircle {width: 100px;height: 50px;border-radius: 0 0 50px 50px;background:…...
![](https://img-blog.csdnimg.cn/img_convert/9f9c035a14cf14ee9c3d59423f832b46.png)
LeetCode HOT100(四)字串
和为 K 的子数组(mid) 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 输入:nums [1,1,1], k 2 输出:2 解法1:前缀和Map 这…...
![](https://www.ngui.cc/images/no-images.jpg)
uniapp引入 uview( HBuilder 和 npm 两种安装方式) #按需引入
方式一、HBuilder 安装 uview 1.1. HBuider安装-链接-》》 1.2. 在uni.scss 中引入 import "uni_modules/uview-ui/theme.scss";1.3. main.js 引入(import Vue from ‘vue’ 下面) import uView from "uni_modules/uview-ui"; V…...
![](https://i-blog.csdnimg.cn/direct/7199f2a72ce94d5ab25d12d5323961cc.png)
使用uni-app和Golang开发影音类小程序
在数字化时代,影音内容已成为人们日常生活中不可或缺的一部分。个人开发者如何快速构建一个功能丰富、性能优越的影音类小程序?本文将介绍如何使用uni-app前端框架和Golang后端语言来实现这一目标。 项目概述 本项目旨在开发一个个人影音类小程序&#…...
![](https://www.ngui.cc/images/no-images.jpg)
基于Go1.19的站点模板爬虫详细介绍
构建一个基于Go1.19的站点模板爬虫是一项有趣且具有挑战性的任务。这个爬虫将能够从网站上提取数据,并按照指定的模板进行格式化。以下是详细的介绍和实现步骤。 1. 准备工作 工具和库: Go 1.19colly:一个强大的Go爬虫库goquery࿱…...
![](https://www.ngui.cc/images/no-images.jpg)
永恒之蓝:一场网络风暴的启示
引言 在网络安全的漫长历史中,“永恒之蓝”(EternalBlue)是一个不可忽视的里程碑事件。它不仅揭示了网络世界的脆弱性,还促使全球范围内对网络安全的重视达到了前所未有的高度。本文将深入探讨“永恒之蓝”漏洞的起源、影响及其对…...
![](https://i-blog.csdnimg.cn/direct/ff696387d11a4d37928441132e7fc149.jpeg)
AI绘画:艺术与科技的交融,创新浪潮与无限可能
在科技日新月异的当下,AI 绘画作为人工智能领域的一颗璀璨新星,正以惊人的速度在国内崭露头角,引发了艺术与技术交融的全新变革。随着人工智能技术的飞速发展,AI绘画已成为艺术与科技交融的新宠。2024年,AI绘画行业在国…...
![](https://www.ngui.cc/images/no-images.jpg)
医疗健康信息的安全挑战与隐私保护最佳实践
医疗健康信息的安全挑战 医疗健康信息的安全挑战主要包括数据规模庞大、管理困难、数据类型多样导致的安全风险高、以及法律法规与伦理约束带来的挑战。随着医疗信息化的发展,医疗健康数据呈现出爆炸式的增长,医院信息系统、电子病历、健康管理等产生了海…...
![](https://www.ngui.cc/images/no-images.jpg)
《C++并发编程实战》笔记(一、二)
一、简介 抽象损失:对于实现某个功能时,可以使用高级工具,也可以直接使用底层工具。这两种方式运行的开销差异称为抽象损失。 二、线程管控 2.1 线程的基本控制 1. 创建线程 线程相关的管理函数和类在头文件: #include <…...
![](https://www.ngui.cc/images/no-images.jpg)
【日常bug记录】el-checkbox 绑定对象数组
版本说明 "vue": "2.6.10", "element-ui": "2.13.2", 这个写法很怪异哦,但确实管用。el-checkbox 绑定的 label 是双向绑定的值,也就是选中之后传到表单数据里面的值,一般设置为 id,然后…...
![](https://img-blog.csdnimg.cn/img_convert/1e9255ff6a498fe5dc8832f24e811bf5.png)
单元测试Mockito笔记
文章目录 单元测试Mockito1. 入门1.1 什么是Mockito1.2 优势1.3 原理 2. 使用2.0 环境准备2.1 Mock1) Mock对象创建2) 配置Mock对象的行为(打桩)3) 验证方法调用4) 参数匹配5) 静态方法 2.2 常用注解1) Mock2) BeforeEach 与 BeforeAfter3) InjectMocks4) Spy5) Captor6) RunWi…...
![](https://i-blog.csdnimg.cn/direct/c98984feed6d4d628ce95ec02a7c57a4.png)
基于SpringBoot+VueJS+微信小程序技术的图书森林共享小程序设计与实现:7000字论文+源代码参考
博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…...
![](https://i-blog.csdnimg.cn/direct/9e60f530858f4b4f995f6389966b2118.png)
GitHub连接超时问题 Recv failure: Connection was reset
用手机热点WIF拉取git项目的时候,遇到Recv failure: Connection was reset问题。 解决办法 一、手动开启本地代理 二、在终端(cmd)输入命令 git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy https:…...
![](https://www.ngui.cc/images/no-images.jpg)
浅谈PostCSS
1. 背景 css的预处理器语言(比如 sass, less, stylus)的扩展性不好,你可以使用它们已有的功能,但如果想做扩展就没那么容易。 sass是很常用的css预处理器语言,在webpack中要使用它,…...
![](https://www.ngui.cc/images/no-images.jpg)
GCN、GIN
# 使用TuDataset 中的PROTEINS数据集。 # 里边有1113个蛋白质图,区分是否为酶,即二分类问题。# 导包 from torch_geometric.datasets import TUDataset from torch_geometric.data import DataLoader import torch import torch.nn as nn import torch.…...
![](https://www.ngui.cc/images/no-images.jpg)
Web控件进阶交互
Web控件进阶交互 测试时常需要模拟键盘或鼠标操作,可以用Python的ActionChains来模拟。ActionChains是Selenium提供的一个子类,用于生成和执行复杂的用户交互操作,允许将一系列操作链接在一起,然后一次性执行。 from selenium im…...
![](https://img-blog.csdnimg.cn/img_convert/98cc41498bd6285e0e07bbbcae53d1aa.png)
基于SpringBoot的校园疫情防控系统
你好,我是专注于计算机科学与技术的研究者。如果你对我的工作感兴趣或有任何问题,欢迎随时联系我。 开发语言:Java 数据库:MySQL 技术:SpringBoot框架,B/S架构 工具:Eclipse,Mav…...
![](https://i-blog.csdnimg.cn/direct/726c6358bd864c3180be3bfb5890621f.png)
elasticsearch 查询超10000的解决方案
前言 默认情况下,Elasticsearch集群中每个分片的搜索结果数量限制为10000。这是为了避免潜在的性能问题。 但是我们 在实际工作过程中时常会遇到 需要深度分页,以及查询批量数据更新的情况 问题:当请求form size >10000 时,…...
![](https://i-blog.csdnimg.cn/direct/b1cd87a7e82f4de2be91e4df2216cd52.png)
SpringCloud集成kafka集群
目录 1.引入kafka依赖 2.在yml文件配置配置kafka连接 3.注入KafkaTemplate模版 4.创建kafka消息监听和消费端 5.搭建kafka集群 5.1 下载 kafka Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/downloads.html 5.2 在config目录下做…...
![](https://s1.51cto.com/images/20180817/1534468668471441.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
果洛营销网站建设哪家好/企业网站seo托管怎么做
防火墙的作用:它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过,有纯软件的防火墙,最常见就是集成在系统内核当中的防火墙。还有企业常用的硬件…...
![](/images/no-images.jpg)
在国外做电商网站有哪些/如何制作简易网站
1.最主要的区别就是:电影它提取了小说中的中心意象,并把它用视觉和音乐以及在色彩的变化上来体现。2.其次的区别就是他把枯井换成了死人屋,可能是为了好拍或者简单易懂。但我还是更喜欢小说里面的枯井,特别是那一段描写颂莲向井里…...
![](/images/no-images.jpg)
罗湖外贸网站建设/北京百度推广代运营
在php中可以使用内置函数gethostbyname获取域名对应的IP地址,比如:echo gethostbyname("www.jbxue.com");?>以上会输出域名所对应的的IP。对于做了负载与cdn的域名来讲,可能返回的结果会有不同,这点注意下。下面来说…...
![](https://img-blog.csdnimg.cn/img_convert/0fb8cfd134228796e3a2204a26cbb67a.png)
网站功能方案/网络营销策划书的范文
[闽南网]360系统急救箱修复失败的原因是什么?如果您不太了解,跟着小编一起来了解一下吧!电脑自动从启应该考虑的问题如下:一、软件方面1.病毒 “冲击波”病毒发作时还会提示系统将在60秒后自动启动。 木马程序从远程控制你计算机的一切活动,…...
![](/images/no-images.jpg)
域名备案要先做网站的吗/企业建站都有什么网站
我对python了解不多,但似乎可以接收JSON格式的数据(参见Python - Parsing JSON Data Set)SAS提供了一个免费的工具,可以轻松地以JSON格式发送数据集(它是为与javascript通信而构建的,但在您的情况下应该也能很好地工作)。.sas文件可以在这里下…...
![](http://static.oschina.net/uploads/img/201501/04154331_bmPn.jpg)
前端网站开发流程入门/百度关键词搜索工具
2019独角兽企业重金招聘Python工程师标准>>> background-origin 设置元素背景图片的原始起始位置。 语法: background-origin : border-box | padding-box | content-box; 参数分别表示背景图片是从边框,还是内边距(默…...