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