SpringBoot 配置文件

06-01 1472阅读

文章目录

  • 一、SpringBoot 配置文件
    • 1.1 配置文件的使用演示:
    • 1.2 配置文件的格式:
  • 二、properties 配置文件说明
    • 2.1 properties 基本语法:
    • 2.2 读取配置文件(@Value):
    • 2.3 properties 缺点分析:
  • 三、yml 配置文件说明
    • 3.1 yml 基本语法:
    • 3.2 yml 配置不同数据类型以及null:
    • 3.3 yml 配置读取(@Value):
    • 3.4 注意事项:value 值加单双引号:
    • 3.5 读取配置对象(@ConfigurationProperties):
    • 3.6 配置 List:
    • 3.7 配置 Map:
    • 3.8 yml 优缺点:
  • 四、总结

配置文件主要是为了解决硬编码带来的问题,把可能会发生改变的信息,放在一个集中的地方,当我们启动某个程序时,应用程序从配置文件中读取数据,并加载运行。

一、SpringBoot 配置文件

SpringBoot 支持并定义了配置文件的格式,也在另一个层面达到了规范其他框架集成到 SpringBoot 的目的。

很多项目或者框架的配置信息也放在配置文件中,比如:

  • 项目的启动端口。

  • 数据库的连接信息(包含用户名和密码的设置)。

  • 第三方系统的调用密钥等信息。

  • 用于发现和定位问题的普通日志和异常日志等。

1.1 配置文件的使用演示:

Tocmat 默认端口号是 8080,所以我们程序访问时的端口号也是 8080,但是如果 8080 端口号已经被其他进程使用了呢?

我们可以通过配置文件来修改服务段的端口号。

SpringBoot 在创建项目时,就已经帮我们创建了配置文件。

SpringBoot 配置文件

修改application.properties文件。

server.port=9090

重新运行程序,观察日志。

SpringBoot 配置文件

显示 Tomcat 启动端口号为 9090。所以接下来访问程序接口要把路径改为:http://127.0.0.1:9090/…

原来的端口号 8080 就访问不了了。

1.2 配置文件的格式:

Spring Boot 配置文件有以下三种:

  • application.properties

  • application.yml

  • application.yaml

yml 为 yaml 的简写,实际开发中出现频率最高。yaml 和 yml 的使用方式一样,故本文只讲 yml 文件的使用。

当应用程序启动时,Spring Boot 会自动从 classpath 路径找到并加载 application.properties 和 application.yaml 或者 application.yml 文件。(配置文件名字只能取这三者的名字之一,如果不是,那么 Spring 会找不到配置文件)。

如果实在要使用别的配置文件名字,可以通过 spring.config.name 来进行指定,参考: https://docs.spring.io/spring-boot/reference/features/external-config.html#features.external-config.files

注意:

  1. 理论上讲.properties和.yml可以并存在于一个项目中,当.properties和.yml 并存时,两个配置都会加载。如果配置文件内容有冲突,则以.properties为主,也就是.properties优先级更高。
  2. 虽然理论上来讲.properties可以和.yml共存,但实际的业务当中,我们通常会采取一种统一的配置文件格式,这样可以更好的维护(降低故障率)。

二、properties 配置文件说明

properties 配置文件是最早期的配置文件格式,也是创建 SpringBoot 项目默认的配置文件。

2.1 properties 基本语法:

properties 是以键值的形式配置的,key(单词之间使用.进行分割,字母小写) 和 value 之间是以"="连接的,如:

# 配置项⽬端⼝号 
server.port=8080
#配置数据库连接信息 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?
characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root

配置文件中使用“#”来添加注释信息。

2.2 读取配置文件(@Value):

如果在项目中,想要主动的读取配置文件中的内容,可以使用 @Value 注解来实现。@Value 注解使用${}的格式读取({}里面放的是 key),如下代码所示:

配置文件:

myKey.key=gobeyye

代码:

@RestController
@RequestMapping("/controller")
public class PropertiesController {
   
    @Value("${myKey.key}")
    private String key;
    @RequestMapping("/prop")
    public String getProp(){
   
        return "获取到的值: " + key;
    }
}

效果如下:

SpringBoot 配置文件

2.3 properties 缺点分析:

properties 配置是以 key-value 的形式配置的,如下图所示:

SpringBoot 配置文件

从上述配置 key 看出,properties 配置文件中会有很多的冗余的信息。

想要解决这个问题,就可以使用 yml 配置文件的格式化了。

三、yml 配置文件说明

yml 是

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码