• SpringBoot配置文件


    1.配置文件的作用

    整个项⽬中所有重要的数据都是在配置⽂件中配置的,⽐如:

    • 数据库的连接信息(包含⽤户名和密码的设置);
    • 项⽬的启动端⼝;
    • 第三⽅系统的调⽤秘钥等信息;
    • ⽤于发现和定位问题的普通⽇志和异常⽇志等。

    想象⼀下如果没有配置信息,那么 Spring Boot 项⽬就不能连接和操作数据库,甚⾄是不能保存可以⽤
    于排查问题的关键⽇志,所以配置⽂件的作⽤是⾮常重要的。

    2.配置文件格式

    • .properties
    • .yml
      在这里插入图片描述

    2.1 特殊说明

    • 理论上讲 properties 可以和 yml ⼀起存在于⼀个项⽬当中,当 properties 和 yml ⼀起存在⼀个项
      ⽬中时,如果配置⽂件中出现了同样的配置,⽐如 properties 和 yml 中都配置了“server.port”,那
      么这个时候会以 properties 中的配置为主,也就是 .properties 配置⽂件的优先级最⾼,但加载完
      .properties ⽂件之后,也会加载 .yml ⽂件的配置信息。
    • 虽然理论上来讲 .properties 可以和 .yml 共存,但实际的业务当中,我们通常会采取⼀种统⼀的配
      置⽂件格式,这样可以更好的维护(降低故障率)。这就好像连锁店的服饰⼀样,不管是⽼款的服
      装还是新款的服装,⼀定要统⼀了才好看。
    • 配置文件名字必须以application开头,如果需要创建多个可以以application-xxx.yml来创建

    2.2 演示

    在这里插入图片描述

    端口号修改为8081

    在这里插入图片描述

    2.3 properties基本语法

    properties 是以 键值 的形式配置的,key 和 value 之间是以 “=” 连接的。

    在这里插入图片描述
    ps:value值后不要加空格,会被误认为是连接在一起的字符串,等号两侧也是同一个道理,不要加空格。

    在这里插入图片描述
    我们也可以自定义键和值~

    在这里插入图片描述
    但是我们写的properties一旦重启idea再看就会乱码,这是因为 application.properties 是属于早期的配置文件,而早期的 配置文件是不支持中文的。要想 application.properties 支持中文,需要进行配置。

    搜索encoding
    在这里插入图片描述全改为utf8即可。

    2.4 读取配置文件

    如果在项⽬中,想要主动的读取配置⽂件中的内容,可以使⽤ @Value 注解来实现。

    @Value 注解使⽤“${}”的格式读取(不可省略),如下代码所示

    在这里插入图片描述
    在这里插入图片描述

    2.5 properties 缺点分析

    在这里插入图片描述
    冗余程度太高了,而解决办法也很简单,使用yml即可!!

    2.6 application.yml 配置文件

    • yml 是 YMAL 是缩写,它的全称 Yet Another Markup Language 翻译成中⽂就是“另⼀种标记语⾔”。
    • yml 是⼀个可读性⾼,易于理解,⽤来表达数据序列化的格式。它的语法和其他⾼级语⾔类似,并且可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
    • yml 最⼤的优势是可以跨语⾔,不⽌是 Java 中可以使⽤ golang、python 都可以使⽤ yaml 作为配置⽂

    2.7 yml基本语法

    yml 是树形结构的配置⽂件,它的基础语法是“key: value”,注意 key 和 value 之间使⽤英⽂冒汗加空
    格的⽅式组成的,其中的空格不可省略:
    在这里插入图片描述

    2.7.1 使用yml连接数据库

    在这里插入图片描述

    2.7.2 yml中单双引号

    在这里插入图片描述

    在这里插入图片描述

    从上述结果可以看出:

    • 字符串默认不⽤加上单引号或者双引号。
    • 单引号会转义特殊字符,特殊字符最终只是⼀个普通的字符串数据。
    • 双引号不会转义字符串⾥⾯的特殊字符;特殊字符会作为本身想表示的意思

    2.7.3 配置对象

    在这里插入图片描述
    或者使用行内写法
    在这里插入图片描述

    2.7.4 读取对象

    在这里插入图片描述
    在这里插入图片描述

    2.7.5 配置集合

    在这里插入图片描述

    2.7.6 读取集合

    在这里插入图片描述
    在这里插入图片描述

    properties VS yml 总结

    • properties 是以key=value 的形式配置的键值类型的配置⽂件,⽽ yml 使⽤的是类似 json 格式的
      树形配置⽅式进⾏配置的,yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”英⽂
      冒号加空格的⽅式设置,并且空格不可省略。
    • properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的
      解决数据冗余的问题。
    • yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。
    • yml 虽然可以和 properties 共存,但⼀个项⽬中建议使⽤统⼀的配置类型⽂件
  • 相关阅读:
    Linux Qt5.15.2 编译QWebEngine源码支持音视频H264
    FP独立站之黑科技:AB站收款、斗篷CLOAK
    kubernetes Pod详解
    全网问的最多的面试题八股文(2022最强)
    [论文评析]基于人体姿态识别的立定跳远 动作智能评估系统
    安卓bp文件和mk文件转换
    Qt QSS 属性 vs QObject属性
    【第1节】书生·浦语大模型全链路开源开放体系
    智慧农业建设方案中的物联网技术
    vue环境搭建
  • 原文地址:https://blog.csdn.net/qq_59689127/article/details/126329657