Spring - 是否可以在属性文件中递归地解析属性(例如环境变量)?
Spring - Is it possible to resolve properties (such as environment variables) recursively in properties file?
我正在使用 @PropertySource
和 PropertySourcesPlaceholderConfigurer
加载我的属性文件:
@Configuration
@PropertySource("classpath:app.properties")
class MyApp {
@Bean
public PropertySourcesPlaceholderConfigurer PropertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
在app.properties
,我想要:
database.dataSource.url=jdbc:postgresql://localhost:${db-port:5432}/mydb
这里数据库的端口要么是从属性db-port
解析出来的,要么默认是5432。
这将允许我在必要时使用 -Ddb-port=9876
标志生成我的应用程序。如果未设置此标志,则应采用 app.properties
中写入的默认端口。
我正在使用 @PropertySource
和 PropertySourcesPlaceholderConfigurer
加载我的属性文件:
@Configuration
@PropertySource("classpath:app.properties")
class MyApp {
@Bean
public PropertySourcesPlaceholderConfigurer PropertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
在app.properties
,我想要:
database.dataSource.url=jdbc:postgresql://localhost:${db-port:5432}/mydb
这里数据库的端口要么是从属性db-port
解析出来的,要么默认是5432。
这将允许我在必要时使用 -Ddb-port=9876
标志生成我的应用程序。如果未设置此标志,则应采用 app.properties
中写入的默认端口。