SpringBoot 框架学习
java 学习笔记指路
基础知识Python转java补充知识
Java中常见的名词解释前端
【黑马程序员pink老师前端】HTML
【黑马程序员pink老师前端】JavaScript基础大总结
【黑马程序员pink老师前端】JavaScript函数与作用域
【黑马程序员pink老师前端】JavaScript对象数据库
【黑马程序员数据库】数据库基础大总结
【黑马程序员数据库】数据库引擎
【黑马程序员数据库】数据库索引SQL编程
【牛客】SQL刷题篇入门篇
【牛客】SQL刷题篇进阶篇Java 框架
spring框架学习
SpringMvc框架学习
SpringBoot 框架学习
Mybatis-plus 快速入门
Maven基础
Zookeeper初认识
HTTP简介
Tomcat
Servlet
vue入门
目录
- 0. 名词解释
- 1. 配置文件
- 1.1 springboot 支持的配置文件
- 执行顺序
- 1.2 application.properties和application.yml文件的区别:
- 1.3 yml 语法:
- 1.4 配置文件注入
- 2. 日志系统
- 3. 属性配置
- 4. Swagger
- 4.1 作用
- 4.2 使用
参考大佬文章
0. 名词解释
属性:
属性是指一个对象或组件中的某些特征或状态。在Spring Boot中,属性通常用于配置应用程序中的各种组件和服务。属性可以通过配置文件、命令行参数、Java代码等方式进行设置,从而使应用程序能够根据不同的环境和需求进行配置。
使用配置文件来配置属性的情况:
- 需要在不同的环境中使用不同的配置时。例如,您可以在开发环境中使用一组属性,在测试环境中使用另一组属性,在生产环境中使用另一组属性。
- 需要将配置信息从代码中分离出来时。使用配置文件可以使配置信息更加灵活和可维护,因为您可以在配置文件中更改配置信息,而不需要修改代码。
组件: 是指应用程序中的一个独立的可重用的功能单元。组件可以是一个Java类、一个接口、一个注解等,它们通常用于实现特定的功能,例如处理请求、处理数据、执行业务逻辑等。
依赖关系: 依赖关系是指一个组件或模块依赖于另一个组件或模块的关系
依赖注入: spring 提供的,@Autowired 注解来注入,会自动装载import,同 python 中的 import
1. 配置文件
1.1 springboot 支持的配置文件
- application.yml或application.yaml:这是Spring Boot的默认配置文件格式,它使用YAML语法来表示配置信息。与application.properties文件类似,可以在该文件中配置各种属性。application.properties或application.yml文件中的属性可以通过**@Value**注解直接注入到Java类中(把配置文件中的值赋给变量),这样可以方便地将配置信息传递给应用程序的各个组件。
- application-dev.properties或application-dev.yml:用于配置Spring Boot应用程序的开发环境属性。例如,可以在这些文件中配置日志级别、端口号等。
- application-test.properties 或 application-test.yml:用于配置Spring Boot应用程序的测试环境属性。例如,您可以在这些文件中配置测试数据库连接等。
- spring.factories :用于配置 Spring Boot 应用程序中的组件和依赖关系。Spring Boot 会自动扫描该文件,并将其中的组件和依赖项注入到应用程序中。例如,如果需要在应用程序中添加一个新的组件或依赖项,您只需要在spring.factories文件中添加一行新的键值对即可。这样,Spring Boot会自动扫描该文件,并将新的组件或依赖项注入到应用程序中,无需修改应用程序的源代码。通常用于配置Spring Boot应用程序中的第三方库和框架,例如Spring Data JPA、Spring Security等。这些库和框架通常需要在应用程序中进行配置,通常使用 spring.factories。
执行顺序
Spring Boot应用程序会按照以下顺序加载配置文件:
- application.properties或application.yml文件:默认配置文件
- application-{profile}.properties、application-{profile}.yml 或 application-{profile}.yaml文件:{profile}表示您的应用程序所使用的特定环境,例如开发环境、测试环境、生产环境等。
- spring.factories文件:配置Spring Boot应用程序中的组件和依赖关系。对于在maven中引用的其他外部包加入容器的过程,需要用到spring.factories。
如果属性在多个配置文件中都存在,则使用最后一个配置文件中的属性值。
1.2 application.properties和application.yml文件的区别:
IDEA创建一个SpringBoot项目时会默认创建一个application.properties配置文件。有些朋友习惯把.properties文件改成.yml文件。
1. 内容格式比较:
.properties文件,通过.来连接,通过=来赋值,结构上,没有分层的感觉,但比较直接。
server.port=8081
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.url=jdbc:mysql://aliyuncs.com:3306/database?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true
spring.datasource.username=root
spring.datasource.password=******
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
.yml文件,通过:来分层,结构上,有比较明显的层次感,最后key赋值的:后需要留一个空格
server:port: 8082
spring:datasource:name: testurl: jdbc:mysql://127.0.0.1:3306/databaseusername: rootpassword: ******type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driver
2. 执行顺序
配置文件的加载优先级 properties(最高)>yml>yaml(最低),如果工程中同时存在application.properties文件和 application.yml文件,yml文件会先加载,而后加载的properties文件会覆盖yml文件。
1.3 yml 语法:
## 基本格式
server:port: 8080
## 值的写法格式
user:name: zhangsanage: 20
## 或者采用行内写法
user: {name: zhangsan,age: 20}
## 数组写法
pets:- cat- dog- pig
## 或者采用行内写法
pets: [cat,dog,pig]
k: v 表示键值对关系,冒号后面必须有一个空格
使用空格的缩进表示层级关系,空格数目不重要,只要是左对齐的一列数据,都在同一个层级
大小写敏感
缩进时不允许使用Tab键,只允许使用空格
支持松散绑定。Java中对于驼峰命名法,可使用原名或-代替驼峰,如:lastName属性,在yml文件中使用lastName或last-name都可以正确映射
注意:" ":双引号,会转译字符串里的特殊字符:如 /n 会被转译成换行;’’:单引号,不会转译: 如 /n 输出就是 /n
1.4 配置文件注入
2. 日志系统
springboot项目的最佳实践就是采用 slf4j+logback
详细的写在日志整改文章里
3. 属性配置
4. Swagger
4.1 作用
按照它的规范去定义接口及接口相关的信息,自动生成接口文档
4.2 使用
相关文章:
SpringBoot 框架学习
java 学习笔记指路 基础知识 Python转java补充知识 Java中常见的名词解释 前端 【黑马程序员pink老师前端】HTML 【黑马程序员pink老师前端】JavaScript基础大总结 【黑马程序员pink老师前端】JavaScript函数与作用域 【黑马程序员pink老师前端】JavaScript对象 数据库 【黑马程…...
java - lua - redis 完成商品库存的删减
java调用lua脚本完成对商品库存的管理 主页链接 微风轻吟挽歌的主页 如若有帮助请帮忙点赞 //lua脚本 获取到内存不够的商品StringBuilder sb new StringBuilder();//定义一个数组存储可能缺少库存的值sb.append(" local table {} ");//获取值sb.append(" …...
dbeaver离线安装clickhouse连接驱动
Clickhouse 数据库连接工具——DBeaver 主要介绍了Clickhouse 数据库连接工具——DBeaver相关的知识,希望对你有一定的参考价值。 Clickhouse 数据库连接工具——DBeaver 1.下载 DBeaver 和 连接驱动 https://dbeaver.io/files/dbeaver-ce-latest-x86_64-setup.…...
2024腾讯校招后端面试真题汇总及其解答(二)
11.如果同时有5个任务在10分钟之后提交,或者更多,那么如果是一个个从队列中拿数据,那么前一个任务会影响后续任务执行时间,说一下解决思路 你的问题是一个典型的并发处理问题。如果你的系统是单线程的,那么的确,前一个任务的执行时间会影响后续任务的执行时间。但是,你…...
datagrip 相关数据连接信息无缝迁移
背景 因为公司换电脑了,接触的项目比较多,不同项目,不同环境的数据库连接有好几十个,如果在新电脑上挨个重新连接一遍劳心劳力,所以想看一下能不能直接将之前保存的连接信息直接迁移到新的电脑上面。 为此,…...
不就是G2O嘛
从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码 SLAM的后端一般分为两种处理方法,一种是以扩展卡尔曼滤波(EKF)为代表的滤波方法,一种是以图优化为代表的非线性优化方法。不过,目前SLAM研究的主…...
C#开发的OpenRA游戏之系统参数选项按钮
C#开发的OpenRA游戏之系统参数选项按钮 前面分析了信标按钮,从图上可以看到,靠右边的按钮,就是系统参数选项按钮: 这个按钮与前面三个按钮是不一样的,虽然它们在排列位置上是放在一起,但是处理的方法方式是不一样的,因为这个选项按钮,并不需要发命令给服务器,再返回来…...
苹果启动2024年SRDP计划:邀请安全专家使用定制iPhone寻找漏洞
苹果公司昨天(8月30日)正式宣布开始接受2024 年iPhone安全研究设备计划的申请,iOS 安全研究人员可以在 10 月底之前申请安全研究设备 SRD。 SRD设备是专门向安全研究人员提供的iPhone14Pro,该设备具有专为安全研究而设计的特殊硬…...
std::make_shared和new初始化智能指针的区别
先看代码: class Base {public:Base(int num):a(num) {std::cout << "Base() construct" << std::endl;}~Base() {std::cout << "Base() deconstruct" << std::endl;}int Get() {return a;}private:int a; };void tes…...
无涯教程-JavaScript - ERFC.PRECISE函数
描述 ERFC.PRECISE函数返回x和无穷大之间集成的互补ERF函数。 互补误差函数等于1-ERF(即1-误差函数),由等式给出- $$Erfc(x) \frac {2} {\sqrt {\pi}} \int_ {x} ^ {\infty} e ^ {-t ^ 2} dt $$ 语法 ERFC.PRECISE(x)争论 Argument描述Required/OptionalxThe lower bound…...
2023国赛数学建模C题思路分析 - 蔬菜类商品的自动定价与补货决策
# 1 赛题 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就无法再售。因此, 商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销售的蔬菜…...
手写Spring:第1章-开篇介绍,手写Spring
文章目录 一、手写Spring二、Spring 生命周期 一、手写Spring 💡 目标:我们该对 Spring 学到什么程度?又该怎么学习呢? 手写简化版 Spring 框架,了解 Spring 核心原理,为后续再深入学习 Spring 打下基础。在…...
C语言中,字节对齐是一种重要的内存管理概念
C语言中,字节对齐是一种重要的内存管理概念 字节对齐的目的是为了提高内存访问的效率。因为CPU访问内存的最小单位是字节,所以如果数据结构的成员以正确的字节边界对齐,那么CPU就可以直接访问这些成员,而不需要进行额外的内存移动…...
网络丢包问题,敢不敢这样定位?
下午好,我的网工朋友。 所谓丢包,是指在网络数据的收发过程中,由于种种原因,数据包还没传输到应用程序中,就被丢弃了。 这些被丢弃包的数量,除以总的传输包数,也就是我们常说的丢包率。 丢包…...
【漏洞复现】H3C路由器信息泄露任意用户登录
漏洞描述 通过访问特地址得到密码可进行登录。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中…...
随机数算法,SQL
SELECT* FROMprizes_config WHEREweight > ( SELECT FLOOR( RAND() * MAX( weight )) FROM prizes_config ) order by weight asc-- LIMIT 1;记录 id 权重 1 5 2 10 3 50 4 100 找权重最大的那个值,调用rand()函数&#…...
什么是软件测试+软件测试的分类【软件测试】
软件测试 什么是软件? 软件 程序 数据 文档 软件测试的对象有哪些?程序 数据 文档 C/S与B/S架构 C/S:客户端服务器,这种就是我们一定要安装一个客户端才能够用的软件,就叫C/S。比如:微信、qq B/S&am…...
2023国赛C题解题思路:蔬菜类商品的自动定价与补货决策
本次将全程提供国赛C题完整解题思路及代码,同时共享一些国赛论文模板等资料,需要的小伙伴可以关注一下,持续更新!大家也可以关注B站视频:不知名数学家小P 实时更新 本次C题是一道较为简单的统计分析题目,建…...
MIT6.824 Spring2021 Lab 1: MapReduce
文章目录 0x00 准备0x01 MapReduce简介0x02 RPC0x03 调试0x04 代码coordinator.gorpc.goworker.go 0x00 准备 阅读MapReduce论文配置GO环境 因为之前没用过GO,所以 先在网上学了一下语法A Tour of Go 感觉Go的接口和方法的语法和C挺不一样, 并发编程也挺有意思 0x01 MapRed…...
JavaScript 日期 – 如何使用 DayJS 库在 JS 中处理日期和时间
当涉及到在 JavaScript 中处理日期和时间时,开发人员经常发现自己正在努力应对内置对象的复杂性Date。 虽然普通 JavaScript 提供了基本功能,但使用起来可能相当麻烦,尤其是在处理解析、格式化和操作日期时。 这就是像 DayJS 这样的外部库发挥作用的地方,它提供了大量的优…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
