【SpringBoot3.x教程02】SpringBoot配置文件详解

前言:什么是配置文件

SpringBoot的配置文件是指用于定义和管理SpringBoot应用程序配置的文件。这些配置文件允许开发者调整和控制应用程序的行为,而无需改变代码。主要有两种格式的配置文件:
1、application.properties:这是一种使用简单键值对来配置的传统格式。它位于项目的src/main/resources目录下。每一项配置都是一行,以点分隔的属性名和其值组成,例如:

server.port=8080
spring.datasource.url=jdbc:mysql://localhost/test

2、application.yml:这是一种使用YAML(YAML Ain’t Markup Language)格式的配置文件,也位于src/main/resources目录下。YAML是一种数据序列化格式,以数据的层次结构为基础,适合表示复杂的配置结构。YAML文件的读取顺序是从上到下,支持使用缩进表示层级关系,YAML文件是强格式的,对于缩进有着严格的要求,每次缩进两格代表一个属性,例如:

server:port: 8080
spring:datasource:url: jdbc:mysql://localhost/test

本文重点:配置文件中的常用配置

1. 基本属性配置

application.propertiesapplication.yml中配置应用的基本属性,比如端口、上下文路径等。

  • application.properties

    server.port=8080
    server.servlet.context-path=/app
    
  • application.yml

    server:port: 8080servlet:context-path: /app
    

2. 数据库配置

配置数据源,包括URL、用户名和密码等。

  • application.properties

    spring.datasource.url=jdbc:mysql://localhost:3306/mydb
    spring.datasource.username=root
    spring.datasource.password=secret
    
  • application.yml

    spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: secret
    

3. 日志配置

配置日志级别和日志文件路径。

  • application.properties

    logging.level.root=WARN
    logging.file.name=app.log
    
  • application.yml

    logging:level:root: WARNfile:name: app.log
    

4. 多环境配置

使用不同的配置文件管理不同环境的配置。

  • application-dev.properties

    server.port=8081
    
  • application-prod.properties

    server.port=80
    

激活特定环境的配置文件。

  • application.properties

    spring.profiles.active=dev
    
  • 通过命令行参数激活

    java -jar yourapp.jar --spring.profiles.active=prod
    

5. 自定义配置

定义自己的配置属性并在应用中引用。

  • application.properties

    app.custom.property=MyValue
    
  • 使用@Value注解引用

    @Value("${app.custom.property}")
    private String customProperty;
    

6. 配置文件中的占位符

使用已有的配置值作为其他配置值的一部分。

  • application.properties

    app.name=MyApp
    app.description=${app.name} is a SpringBoot application
    

7. 配置绑定到实体类

将配置文件的属性绑定到一个实体类上,支持各种类型数据的配置,比如List和Map。

  • application.yml

    app:name: MyAppdescription: My SpringBoot applicationfruits:- apple- banana- orangefruitColors:apple: redbanana: yelloworange: orange
    
  • 实体类

    @Component
    @ConfigurationProperties(prefix="app")
    public class MyAppProperties {private String name;private String description;// getters and setters
    }
    

代码截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结束语:

本文章讲述了配置文件中常用的一些配置内容,并给出了对应的代码示例,对应的代码会上传到github,下一节我们主要讲解SpringBoot的自动配置

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

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

相关文章

华金证券2024:以“芯”助先进算法,以“算”驱万物智能

本文选自“以芯助先进算法,以算驱万物智能”。 一、半导体景气度有望迎来复苏 从半导体行业景气度来看,在经历了2022、2023年的去库存周期 后,半导体销售额有望在2024年迎来复苏。据WSTS数据显示,全球半导体产品销售总额从1999 年…

OJ_一端进,两端出

题干 C实现 #include <stdio.h> #include <list> #include <vector>using namespace std;int main() {int n, k;scanf("%d%d", &n, &k);vector<int> insertVec(n);for (int i 0; i < n; i) {scanf("%d", &insert…

四、西瓜书——支持向量机

第六章 支持向量机 1.间隔与支持向量 支持向量机的原理是寻找与支持向量具有最大间隔的划分超平面。支持向量机具有一个重要性质: 训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关. 首先&#xff0c;超平面的方程为&#xff1a; 点到超平面的距离为&#xff…

单表练习12.0

一个学生表 分别记录姓名&#xff0c;年龄&#xff0c;性别&#xff0c;班级&#xff0c;语文&#xff0c;数学&#xff0c;英语字段 create table student2( id int primary key , name char(20), sex char(10), age int(3), mobile char(20), class char(10), engli…

男子失眠焦虑、胸闷气短发作,多次跑医院,检查结果却显示无异常!

植物神经紊乱指的是人体内部的自主神经系统失去平衡&#xff0c;导致一系列的生理和心理方面的异常状态。人体的自主神经系统分为交感神经系统和副交感神经系统&#xff0c;它们共同调节心血管系统、消化系统、呼吸系统、内分泌系统等器官的功能。当这两个系统的平衡被打破&…

IPSEC---VPN

文章目录 目录 文章目录 一.TCP/IP 协议的缺点 二.IPsec诞生背景 IPsec可提供安全服务 三.IPsec协议簇 IPsec的两种工作模式 传输模式 隧道模式&#xff1a; IPsec的安全协议 AH 协议:鉴别头协议 ESP协议&#xff1a;封装安全载荷协议 AH与ESP对比 AHESP报文&#xff1a…

【Python】Python注册微服务到nacos

Python注册微服务到Nacos 1.Nacos部署 github 的nacos项目的发布页&#xff08;Releases alibaba/nacos GitHub &#xff09;&#xff0c;选择所要下载的nacos版本&#xff0c;在nacos下方的assets中选择安装包进行下载。 解压nacos安装包到指定目录。 tar -zxvf nacos-ser…

国产通讯芯片D3232介绍,要用于工控主板、工业控制器、程序烧录下载器、仿真器、新能源充电桩等众多涉及RS232通讯的产品

一、应用领域 D3232芯片主要用于工控主板、工业控制器、程序烧录下载器、仿真器、新能源充电桩等众多涉及RS232通讯的产品。 二、基本特性 D3232芯片由两个线路驱动器、两个线路接收器和双电荷泵电路组成&#xff0c;具有HBM>15kV、CDM>2kV的ESD保护能力&#xff0c;并且…

element-ui plus v2.60 终于修复了 radio checkbox 取值不明确的问题,label value 值

element-ui plus v2.60 终于修复了 radio checkbox 取值不明确的问题&#xff0c;label value 值 昨天想反馈这个关于 label 和 value 的问题的时候&#xff0c;发现新版本已经修正这个问题了。 一、ElementUI 旧版关于 label 和 value 的问题 从之前 element-ui 用过来的&a…

两天学会微服务网关Gateway-Gateway网关限流

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

Sublime Text 格式化Json文件 之 Pretty Json

需要使用到 Pretty Json插件。 一、安装方法 sublime 下&#xff0c;按快捷键 Comand control p&#xff0c; 输入install Package,然后回车 等几秒钟&#xff0c;加载启动进程完毕后弹出的页面中输入pretty json, 然后回车 等待几秒钟&#xff0c;可以查看Sublime 最下面的…

HUAWEI 华为交换机 配置 MAC 防漂移 防MAC伪造示例

组网需求 某企业网络中&#xff0c;用户需要访问企业的服务器。如果某些非法用户从其他接口假冒服务器的MAC 地址发送报文&#xff0c;则服务器的 MAC 地址将在其他接口学习到。这样用户发往服务器的报文就会发往非法用户&#xff0c;不仅会导致用户与服务器不能正常通信&…

【粉丝福利】一本书讲透ChatGPT,实现从理论到实践的跨越!大模型技术工程师必读

&#x1f33c;一、前言 OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景&#xff0c;在多项专业和学术基准测试中表现出的智力水平&#xff0c;不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xf…

在Windows 10和11中打开事件查看器的11种方法,总有一种适合你

Windows事件查看器是一个功能强大的工具,可以记录电脑从启动到关机的所有过程。你可以使用它查看有关应用程序错误、不同系统服务生成的警告的详细信息,以及有关驱动程序和服务状态的信息。这就是为什么当你需要识别或解决计算机或设备上的问题时,Windows 11和Windows 10事件…

【金九银十】,架构师花费近一年时间整理出来的安卓核心知识

面试经历 主要是根据回忆总结的&#xff08;会有遗漏点&#xff09;。 1. 腾讯&#xff08;QQ音乐&#xff09; 腾讯面试涉及到的范围也很广&#xff0c;甚至问到了C、Kotlin Flutter &#xff0c;也具有一定挑战性的&#xff0c;以下包括腾讯腾讯安卓客户端三面&#xff0c…

国创证券|降准对股市的影响,利好哪些板块?

降准是指央行下调金融机构存款准备金率&#xff0c;是一种宽松的钱银政策&#xff0c;会添加社会上的流动资金&#xff0c;然后推动股市上涨&#xff0c;对股市来说是一种利好&#xff0c;其间利好以下板块&#xff1a; 1、利好房地产板块 央行降准会进步银行可贷资金&#x…

每日一题-链表的中间结点

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 上面是解题题目&#xff1a; 解题思路&#xff1a;快慢指针法--慢指针一次指向下一个&#xff0c;快指针一次指向下两个 解答过程&#xff1a; /*** Definition for singly-linked…

Linux学习-指针与数组

目录 数组和指针的关系 数组指针&#xff1a; 数组和指针的关系代码 指针数组 指针和二维数组的关系 数组传参 数组和指针的关系 一维数组和指针的关系&#xff1a; int a[5] {1,43,5,3,2,}; 数组的数组名a是指向数组第一个元素a[0]的指针常量&#xff1b; a &a…

JRebel and XRebel 插件在IDEA中的安装、激活和使用

1、JRebel安装 1、打开idea->setting->plugins->Marketplace 2、搜索插件JRebel and XRebel&#xff0c;点击安装&#xff0c;然后重启idea 如果左侧出现JRebel & XRebel代表已安装 3.离线安装JRebel 根据自己安装的idea版本进行下载电影的jrebel https://plugi…

1.Zookeeper理论基础

1.Zookeeper的基本概念 是一个分布式应用协调框架 &#xff0c;java编写的。客户端 /服务端 的架构模式。CP设计(一致性&#xff0c;分区容错) 它主要是用来解决分布式应用中经常遇到的一些数据管理问题&#xff0c;如&#xff1a;服务注册服务、状态同步服务、集群管理、分布…