各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)
项目中很多重要的数据都是在配置文件中配置的, 比如:
- 数据库的连接信息
- 项目的启动端口
- 第三方系统的调用秘钥等信息
- 设置日志打印级别, 设置保存日志的路径, 发现和定位问题的普通日志和异常日志
- …
就拿第一条来说, 如果你的项目中没有配置文件, 那你怎么连接到你要使用的数据库呢?
SpringBoot 中主要有两种配置文件格式 : properties 和 yml(YAML)
- properties 是默认的配置文件格式, 项目创建好之后就存在
- 要想使用 yml 格式, 可以在 resource 目录下手动创建, 命名为xxx.yml
虽然理论上来讲 properties 可以和 yml 共存, 但实际的业务当中, 通常会采取其中⼀种统⼀的配置文件格式, 这样可以更好的维护(降低故障率)
properties 是以键值的形式配置的,key 和 value 之间是以 “=” 连接的
使用 # 添加注释
以上都是常用的系统配置项, 但程序员甚至可以自己自定义配置项, 下面会介绍系统配置项和自定义配置项的读取方式
上述配置项中有这么一段 :
你会发现, 这几行都是 spring.datasource 开头的, 这就造成一定程度的代码冗余, 写起来比较麻烦, yml 就解决了这一缺点
- yml 是⼀个可读性高, 写法简单、易于理解(我不这么认为hhh), 它的语法和 JSON 语⾔类似
- yml ⽀持更多的数据类型, 它可以简单表达清单(数组)、散列表,标量等数据形态. 它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件等
- yml 支持更多的编程语言,它不止是 Java 中可以使用, 在 Golang、PHP、Python、Ruby、JavaScript、Perl 中也适用
yml 是树形结构的配置文件, 它的基础语法是“key: value”, 注意 key 和 value 之间使用英文冒号加空格的方式组成的, 其中的空格不可省略
使用 yml 配置数据库连接信息 :
在 java 代码中一个 Tab 键是 4 个格符, 但在这个 yml 文件中一个 Tab 键是 2 个空格符
yml 还可以配置一个对象 :
yml 还可以配置一个 list 集合
properties 和 yml 都使用 @Value(“${ key 值}”) 的方式可读取对应的 value 值
yml 中如果自定义了类的配置信息, 不能使用 @Value , 而是使用 @ConfigurationProperties(“自定义的类名”), 读取方式如下 :
yml 中如果自定义了 list 集合的配置信息, 也使用 @ConfigurationProperties(“自定义的集合名称”) , 读取方式如下 :
企业里面的项目, 一般都有三个环境 : 开发环境, 测试环境, (发布之后)上线运行环境, 不同环境下的配置信息可能不同, 为了避免每次更换环境都需要重新修改配置文件的代码, SpringBoot 支持配置不同环境下的配置文件
因为有可能在正式上线之前, 在开发环境和测试环境反复横跳, 如果上线之后有严重 bug , 一般也得再走一遍流程才能再次发布上线
一般会再创建三个配置文件, 命名为 : application.properties(或.yml), 加上后缀 表示不同环境下的命名区分, 一般使用 表示生产环境, 表示测试环境, 表示上线运行环境
然后在一个公共的配置文件中标识清楚当前项目使用的是哪个配置文件(运行在哪个环境下)
SpringBoot 提供了 properties 和 yml 这两种配置文件格式, 前者语法格式为 key=value , 后者语法格式为 key冒号空格value, 这两种格式都支持自定义配置项
properties 和 yml 的一般配置项使用 @Value(${key值}) 的方式读取对应的 value, yml 中的类或者集合配置项, 使用 @ConfigurationProperties(“类或集合的名称”)
以上就是本篇的所有内容了, 如果本篇对你有帮助,请点赞收藏支持一下,小手一抖就是对作者莫大的鼓励啦😋😋😋~
上山总比下山辛苦
下篇文章见
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/37845.html