SpringBoot读取配置文件

本文最后更新于:2 分钟前

定义配置文件信息

有时候我们为了统一管理会把一些变量放到yml配置文件中

例如:

1
2
3
4
5
6
file:
# Windows 和 Linux 的 目录结构不同
# path: /opt/test/ # Linux
path: D://opt/test/ # Windows
publicUrl: /image/
domain: http://localhost:8089/image/

读取配置

方法一

我们可以使用@value 注解来读取

1
2
3
4
5
6
7
8
@Value("${file.publicUrl}")
private String publicUrl;

@Value("${file.path}")
private String path;

@Value("${file.domain}")
private String domain;

需要的包:import org.springframework.beans.factory.annotation.Value;

方法二

@ConfigurationProperties

Spring源码中大量使用了ConfigurationProperties注解,比如server.port就是由该注解获取到的,通过与其他注解配合使用,能够实现Bean的按需配置。

该注解有一个prefix属性,通过指定的前缀,绑定配置文件中的配置,该注解可以放在类上,也可以放在方法上

使用

定义一个对应字段的实体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.jinan.configbean;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
* @Author jz
* @Date 2021/10/25 9:19
* @Version 1.0 读取 yml 配置 file
*/
@Data
// prefix 指定前缀
@ConfigurationProperties(prefix = "file")
@Component
public class fileConfigBean {

private String path;

private String publicUrl;

private String domain;
}

使用时 注入这个 bean

1
2
@Autowired
private fileConfigBean fileConfigBean;

使用 get 获取对应的值

1
2
3
fileConfigBean.getPublicUrl()
fileConfigBean.getPath()
fileConfigBean.getDomain()

本文作者: 仅安
本文链接: https://jinan6.vip/posts/82360876/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!