SpringBoot的配置和日志

news/2024/4/25 3:26:48/文章来源:https://blog.csdn.net/tl2267190799/article/details/130364735

1.配置文件的作用和意义

配置文件中配置整个项目中所有重要的数据,比如:
1.数据库的连接信息(包含用户名和密码的设置);
2.项目的启动端口;
3.第三方系统的调用秘钥等信息;
4.用于发现和定位问题的普通日志和异常日志等。

2.Spring Boot配置文件格式

两种方式:

1.properties

2.yml(yml)

特殊说明:

1.两个配置文件从功能上来讲是可以同时存在的,但是企业中通常会规定使用某一种格式的配置文件。

2.如果同一个配置出现在两种格式的配置文件中的话,那么以properties为主。

 2.1 properties 配合文件的格式

配置项分类:
1.系统配置项,比如server.port/spring.datasource.url... ->
2.用户自定义配置(非系统配置项) -》key用户自定义
key = vlaue

设置为9090端口号:

 读取任意配置文件的内容:

package com.example.demo.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@ResponseBody //加在类上,表示当前类中所有方法返回的都是非静态页面的数据
//@RequestMapping("/test") //=@WebServlet(")
public class TestController {@Value("${server.port}") //注意:一定要是${key}格式private String myconfig;@RequestMapping("/sayhi")//=@WebServlet(")public String sayHi(){return "hello world ->"+myconfig;}

读取配置文件:

 

proporties 优缺点分析
properties 优点:
1.系统默认的配置文件
2.properties 配置项的优先级比yml高
3.格式简单,不容易出错
缺点:写法比较冗余;

2.2 yml配置格式

yml 优点分析:
yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。
yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩ 符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
yml ⽀持更多的编程语⾔,它不⽌是 Java 中可以使⽤在 Golang、PHP、Python、RubyJavaScript、Perl 中。
yml 是树形结构的配置⽂件,它的基础语法是“key: value”,注意 key 和 value 之间使⽤英⽂冒汗加空 格的⽅式组成的,其中的空格不可省略。

格式: String: java

冒号后面有一个空格

yml连接数据库:

spring:datasource:url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8username: rootpassword: root

2.3 properties 和yml的区别

1.properties 是以 key=value 的形式配置的键值类型的配置⽂件,⽽ yml 使⽤的是类似 json 格式的树形配置⽅式进⾏配置的,yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”英⽂冒号加空格的⽅式设置,并且空格不可省略。
2.properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的解决数据冗余的问题。
3.yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。
4.yml支持更多的数据类型。

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

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

相关文章

Unity之OpenXR+XR Interaction Toolkit实现 抓取物体

前言 我们今天来说一下如何使用XR Interaction Toolkit来实现和3D物体的交互之:抓取,简单说就是通过VR手柄拿起来一个物体。 二.准备工作 有了前两篇的配置介绍,我们就不在详细说明这些了,大家自行复习 Unity之OpenXRXR Interaction Toolk…

BPF技术学习与整理

目录 eBPF是什么? eBPF是做什么的?可以解决什么问题? eBPF可以带来的解决方案是什么? eBPF的技术点 eBPF hookeBPF MapeBPF Helper FunctioneBPF有什么限制吗? 前言 21年因为项目需求而要开发一个工具,可以…

每日一个小技巧:1招教你wav格式如何转换mp3

wav是一种质量较高的音频格式,但它的文件大小通常比较大。为了更方便地分享和存储音频文件,许多人都会选择将其转换为mp3格式。因为mp3格式能够在保持较高音质的同时,尽量降低文件大小,帮助你节省许多磁盘空间。那你们知道wav格式…

Java基础——多线程创建

(1)什么是线程? 线程(thread)是一个程序内部的一条执行路径。程序中只有一条执行路径,那么这个程序就是单线程的程序。 (2)多线程是什么? 多线程是指从软硬件上实现多执行流程的技术。 &…

让 ChatGPT 扮演一个艺术家,协助我们生成绘图 prompt

stable-diffusion Prompt 生成 直接生成 按照惯用的扮演思路,我们可以让 ChatGPT 扮演一个艺术家,协助我们生成绘图 prompt。考虑到 ChatGPT 和 DallE 同为 openai 公司产品,且 stable-diffusion 开源模型出现较晚,ChatGPT 训练…

【软件工程】UML序列图

一.概述 序列图(时序图)是一种软件工程行化建模方法,用于可视化系统或应用程序中多个对象之间 的交互。在序列图中,每个对象都表示为竖直线,对象之间的消息则表示为水平箭头 从一个对象指向另一个对象。 序列图可以…

搞懂 API ,地图 API 制作方法分享

地图 API 是一种基于 Web 开发的应用程序编程接口,可以用于创建和展示地图及地理信息。以下是一些地图 API 制作的方法: 选择地图 API 平台:目前市场上有很多地图 API 平台供选择,比如 Google Maps API、百度地图 API、高德地图 A…

2023年五月份图形化三级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

在阿里做测试开发的这5年,收获与感悟...

正好在离职交接空档期,就抽空简单分享自己的一些个人经历给大家,希望对刚毕业不久或者工作三五年的同学能有一些帮助。 测试新人 我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做…

基于异常值鲁棒性问题的极限学习机的回归问题研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

2023年五月份图形化四级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

【独具匠心设计】全网最好的国学,历代文学,名著,小说网推荐

极力推荐一个功能简单、易用、访问快捷、界面大气,清爽、资源丰富、设计专业、完全免费的文学网站。它的名字叫“历代文学”,是由成都心海科技公司所研发,设计真可谓独具匠心。 “历代文学”收录了来自古今中外 20 多个朝代,近 30个 国家的作…

消息队列选型

消息队列选型 大家好,我是易安!今天我们聊下消息队列常见选型。 消息队列作用 谈选型之前我们先讲下我们为什么需要消息队列。 消息队列是一种很流行的技术,自从系统间开始通信时,消息队列就出现了。然而,对消息队列给…

Windows 远程桌面提示没有远程桌面授权服务器可以提供许可证

可参考之前发布的一篇文章,帮助你远程登录:远程连接提示 由于没有远程桌面授权服务器提供许可证_计算机没有远程桌面客户端访问许可证_csdn_aspnet的博客-CSDN博客 虽然上述文章命令可以远程进入系统,但是每次都需要使用上述文章中的命令进入…

【数据库】索引和事务

目录 1.索引 1.1关于索引 索引是什么? 为什么要有索引? 索引的作用? 索引的优点和缺点? 1.2索引类型及创建 索引的分类 创建索引 1.3索引的数据结构 1.4索引覆盖 2.事务 2.1关于事务 概念 事务的使用 2.2事务的特…

他们是怎么使用上gpt-4的-gpt-4在哪用

为什么有人在使用GPT4 openAI尚未正式发布GPT-4模型,也没有公布任何与GPT-4相关的信息。因此,没有人可以在使用GPT-4模型。 值得注意的是,虽然OpenAI尚未正式发布GPT-4,但由于其之前发布的GPT-3具有出色的性能和功能&#xff0c…

chmod 命令 (chmod 0660)

chmod的作用: 用于设置文件所有者和文件关联组的命令,就是控制用户的权限命令 注意事项: chown 需要超级用户 root 的权限才能执行此命令。 自己常用chmod 命令是 chmod 777 * 给所有文件权限 chmod 777 文件名 给单独文件权限 这个777 是怎么来的, 或者chmod 0660 这…

C++STL详解(10) -- 使用哈希表封装unordered_set和unordered_map

文章目录 哈希表模板参数改造针对模板参数V改造增加仿函数获取具体数据类型. 哈希表的正向迭代器正向迭代器中的内置成员:正向迭代器的成员函数 哈希表插入函数的修改(适用于unordered_map)一个类型K去做set和unordered_set他的模板参数的必备条件.unordered_set的模拟实现(完整…

PySide6/PyQT多线程的使用

前言 上一篇文章介绍了在PySide6中使用多线程去解决PySide6/PyQT的界面卡死问题,这次来具体介绍下多线程在使用上的一些细节。 本文尝试对以下两个问题进行解决: 对 PySide6/PyQT 多线程的使用不熟悉;在 PySide6/PyQT 的应用程序里有耗时任…

【Linux基础IO之 内存文件操作】

目录: 前言一、引入C语言中的文件操作系统文件操作open 位图权限close、write、readlseek C语言中的文件操作函数与系统文件操作函数的联系 三、文件描述符1.文件描述符是什么2.文件缓冲区再谈重定向 四、文件缓冲区分类语言级缓冲区为什么要有两个缓冲区 五、仿写c…