SpringBoot配置文件读取方案

SpringBoot配置文件读取方案

介绍了springboot读取配置文件的几种方式

 次点击
8 分钟阅读

Spring Boot 读取配置文件最常用有 3 种:@Value@ConfigurationPropertiesEnvironment;如果要读指定文件,需要使用 @PropertySource注解来指定路径。Spring Boot 默认会加载 application.propertiesapplication.yml (前者的优先级比后者高),常见做法就是把配置写进这两个文件再注入到 Bean 里使用。

常用方式

方式

适合场景

特点

@Value

读取单个配置项

简单直接,适合零散值

@ConfigurationProperties

读取一组相关配置

支持批量绑定,适合配置类

Environment

动态按 key 获取

灵活,适合运行时读取

@PropertySource

读取自定义文件

可以指定额外配置文件

@Value 示例

@Component 
public class AppConfig {
    @Value("${server.port}")     
    private String port; 
}

这种方式适合读取一个或几个独立配置项。

@ConfigurationProperties 示例

@Data
@Component 
@ConfigurationProperties(prefix = "spring.datasource") 
    public class DataSourceConfig {    
    private String url;     
    private String username;     
    private String password; 
}

适合把一组相关配置统一绑定到一个 Java 类里,使代码更整洁。

Environment 示例

@Autowired 
private Environment environment; 
String port = environment.getProperty("server.port");

适合在运行时动态取值,或者 key 不固定的情况。

读取自定义配置文件

如果要指定一个配置文件,比如 config/my.prop,可以这样:

@Configuration 
@PropertySource("classpath:config/my.prop") 
@ConfigurationProperties(prefix = "aaa") 
public class PropConf { 
    private String a; 
    private String b; 
}

这种方式适合项目里有独立模块配置,或者不想全塞进 application.yml。csdn+1

© 本文著作权归作者所有,未经许可不得转载使用。