当前位置: 首页 > news >正文

Spring Boot配置文件properties/yml/yaml

一、Spring Boot配置文件简介

(1)名字必须为application,否则无法识别。后缀有三种文件类型: properties/yml/yaml,但是yml和yaml使用方法相同
(2) Spring Boot 项⽬默认的配置文件为 properties ,是最早期的配置文件格式,
(3) properties比yml文件优先级更高: 当 properties 和 yml 一起存在一个项目中时,如果配置文件中出现了同样的配置,比如 properties 和 yml 中都配置了“server.port”, 那么这个时候会以 properties 中的配置为主,也就是 .properties 配置⽂件的优先级最高,但加载完 .properties 文件之后,也会加载 .yml 文件的配置信息。
(4) 通常情况一个项目中只会存在一种格式的配置文件。

二、配置文件properties/yml配置内容

2.1  properties/yml基本语法

properties 键值对的形式:key=value
yml :树形结构的配置文件,它的基础语法是"key: value",value前面有一个空格

2.2 端口号配置

# 配置项⽬端⼝号
server.port=8080

2.3 数据库配置

#配置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&
spring.datasource.username=root
spring.datasource.password=root

2.4 读取配置文件value

@Value 注解来实现
//applacation.yml文件ykey:key1: hello//class文件
//读取yml文件中自定义设置的值
@Value("${ykey.key1}")
private String keyValue;
//就会把yml配置文件中ykey.key1的值读取并赋值给keyValue@Value("{num}")
private String keyValue;
//单纯的赋值操作,将num赋给keyValue

 

2.5 配置对象

//applacation.yml文件
student:id: 1name: Javaage: 18//class文件
@ConfigurationProperties(prefix = "student")
@Component//student对象存储到spring
public class Student { private int id; private String name; private int age;
}//调用类
@RestController
public class StudentController { @Autowiredprivate Student student; @RequestMapping("/readStudent")public String readStudent(){ return student.toString(); } 
}

 

2.6 配置集合/map

//yml文件
dbtypes:name:- mysql- sqlserver- db2maptypes:map:k1: kk1k2: kk2k3: kk3//读取集合
@Component 
@ConfigurationProperties("dbtypes") 
@Data
public class ListConfig { private List name; 
}@RestController
public class ReadYml2 { @Autowiredprivate ListConfig listConfig;@RequestMapping("/readList")public String readList(){ return listConfig.toString(); } 
}//map读取方式同上

 

2.7 yml中单双引号区别

//yml文件
test:str: 'hello \n world'str2: "hello \n world"//获取配置值后输出结果:
str:hello \n world
str2:hello world
(1)字符串默认不用加上单引号或者双引号。
(2)单引号会转义特殊字符,特殊字符最终只是⼀个普通的字符串数据
(3)双引号不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
注意:使用properties配置文件,中文会出现乱码, yml配置文件可以显示中文

三、yml配置文件优缺点

3.1 yml 优点

 

(1)yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。 
(2)yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使用空百符号缩进和大量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
 (3)yml ⽀持更多的编程语⾔,它不止是 Java 中可以使⽤在 Golang、PHP、Python、Ruby、 JavaScript、Perl 中。

 

3.2 yml 缺点

 

不适合写复杂的配置文件

 

四、创建不同环境的配置⽂件

application-dev.yml 
application-prod.yml 
2、在 application.yml 中设置运行环境  
spring.profiles.active=dev
3、以下是yml文件执行配置
从8080端口执行其他配置后变为9090

相关文章:

  • Pytest+Allure+Yaml+PyMsql+Jenkins+Gitlab接口自动化(四)Jenkins配置
  • 【Arduino】XIAOFEIYU实验ESP32实验热敏电阻(图文)
  • 23- Redis 主从复制是怎么实现的?
  • 【ai】ubuntu18.04 找不到 nvcc --version问题
  • pdf文档翻译有哪些好的推荐
  • Spring @Cacheable缓存注解用法说明
  • 【Web3】Web3.js 启动!并解决Web3 is not a constructor报错
  • 第十一节:学习通过动态调用application.properties参数配置实体类(自学Spring boot 3.x的第二天)
  • PostgreSQL主从同步
  • 安装node软件 文件夹里没有node_modules 包 是怎么回事
  • 突破SaaS产品运营困境:多渠道运营如何集中管理?
  • MasterLogic-200 PLC可以与Honeywell 的 DCS系统 Experion PKS、SCADA系统Experion HS 系统
  • 在不修改.gitignore的情况下,忽略个人文件的提交
  • 超简洁Django个人博客系统(适合初学者)
  • 单片机中有FLASH为啥还需要EEROM?
  • Git 使用集
  • javascript面向对象之创建对象
  • KMP算法及优化
  • Linux CTF 逆向入门
  • scrapy学习之路4(itemloder的使用)
  • SQLServer之索引简介
  • vuex 笔记整理
  • 编写符合Python风格的对象
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 如何学习JavaEE,项目又该如何做?
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 怎么将电脑中的声音录制成WAV格式
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #{}和${}的区别是什么 -- java面试
  • #宝哥教你#查看jquery绑定的事件函数
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (03)光刻——半导体电路的绘制
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (附源码)springboot教学评价 毕业设计 641310
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (转)EOS中账户、钱包和密钥的关系
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .Net 代码性能 - (1)
  • .net 流——流的类型体系简单介绍
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • /etc/sudoers (root权限管理)
  • [1] 平面(Plane)图形的生成算法
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [C++]模板与STL简介
  • [docker]docker网络-直接路由模式