文章目录
- 1、配置文件作用
- 2、配置文件的格式
- Properties VS yml 总结
- 拓展:Spring Boot 有几种读取配置文件的方法?
1、配置文件作用
整个项目中所有重要的数据都是在配置文件中配置的。
比如:1、数据库的连接信息(包含用户名和密码的设置)
2、项目的启动端口
3、第三方系统的调用密钥等信息
4、用于发现和定位问题的普通日志 和 异常日志 等。
5、还可以配置 日志的级别(规定只显示达到某个级别的日志),以及日志的持久化存储。想象一下:
如果没有配置信息,那么 Spring Boot 项目就不能连接和操作数据库,甚至是不能保存可以用于排查问题的关键日志,所以配置文件的作用是非常重要的!举个例子:
之前我在讲 Servlet项目:博客系统 的时候,我们需要去写关于 MySQL 的 JDBC 代码,其涉及到的 用户名密码,还有数据源,这些信息都是保存一个叫做 DBUtil 的自定义类中。
而一个正儿八经的 Spring Boot 项目,不会将这些重要的,敏感的信息,放在代码里面的!
因为你放在代码里面的话,它是不方便去修改的。
并且,只能是我们程序员去改!试想=一下:
在一个正儿八经的公司里,技术岗位是有很多种的!
假设我们是开发人员,那我们只是负责开发部分的工作。
最终项目的部署,是程序员部署的吗?还是测试人员去部署的?都不是,测试 是 负责 测试环境,开发是负责开发环节。
而生产环境,是由另一种技术人员:运维工程师来负责的!
运维工程师,是需要修改我们项目中的配置文件的。运维工程师懂 JAVA 代码 吗?
他不懂的!
运维工程师,他们的能力点 在于:他们对 Linux 服务器 非常熟悉!
对于那些常见的木马,漏铜,他们具有相应的排查手段 和 解决方案!
他们对于 “安全性” 方面的知识,是知道的比较多!总的来说:
运维工程师,主要就是部署项目,并且让项目能够在服务器上,稳定的运行。一个项目开发完了,我们开发人员的工作就完成了。
接下来,项目就会交给测试部门。
测试部门测试完了之后,项目功能都没问题。
说明 项目 可以上线了。
那么,测试部门就会把 项目包 交给 运维部门,由运维来进行项目的部署。也就是说:
你如果把 配置文件 写到 代码里(项目包里),有以下几个问题:
1、运维人员是不懂 Java 的,他没办法去修改代码。
即使 这个 运维人员,懂 Java,但是!想想 我们 Spring Boot 打包的是一个什么 包?
是一个 jar 包,对不对?俩面存储的都是 .class 文件(二进制文件)。
而我们是把信息写到 一个类,经过编译生成的文件,就是 .class 文件。
二进制文件,你能改吗??
你改不了的!!!
字节码文件,是只能看,不能修改的!!!