JavaEE进阶 - Spring Boot 配置文件 - 细节狂魔

文章目录

  • 1、配置文件作用
  • 2、配置文件的格式
    • 1、application.properties 配置文件 - 效果演示
    • 2、application.yml 配置文件 - 效果演示
    • 这里,讲一个规则:
    • 为配置?件安装提示插件 - 社区版 idea
    • application.properties 配置文件说明
      • properties 基本语法
      • 查看更多系统配置项 - properties
      • 读取配置?件 - propertices
        • properties 格式配置文件的 缺点分析
    • application.yml 配置?件说明
      • yml 基本语法
        • yml的优点:解决 properties的缺点问题(代码冗余度高)。
      • yml 使?进阶:yml 配置不同数据类型及 null
      • 读取配置?件 - yml
      • 拓展:注意事项
        • value 值加单双引号 - yml配置文件中,关于数据的单双引号的问题。
        • 配置对象 - yml 配置文件
        • 读取对象 - yml 配置对象
        • 配置集合 - yml
        • 读取集合 - yml
  • 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 文件。
二进制文件,你能改吗??
你改不了的!!!
字节码文件,是只能看,不能修改的!!!

你可能感兴趣的:(面试,学习路线,阿里巴巴,android,前端,后端)