是否可以从bootstrap.properties调用bean?
我正在尝试实施云配置客户端。
Bean类似于:
@Bean
public MyObject myObject(String environment) {
return new MyObject(environment);
}
....
public class MyObject {
private String environment;
// getters setters
}
在bootstrap.properties文件中,我有以下一行:
spring.profiles.active= #Here I should get the value from the bean
是否可以编写如下内容:
spring.profiles.active= ${myObject.environment}
非常感谢。
答案 0 :(得分:1)
您可以插入spring.factories
:
org.springframework.cloud.bootstrap.BootstrapConfiguration=\
com.demo.MyBootstrapConfiguration
然后编写一个普通的Spring Java配置对象
@Configuration
public class MyBootstrapConfiguration {
// normal spring java config
}
答案 1 :(得分:0)
基于文档,引导程序文件:
开箱即用,它负责加载配置属性 从外部来源,也解密本地的属性 外部配置文件
并且其内容应在bean中引用,而不是相反。
如果您想以某种方式将活动个人资料传递给它,可以根据您的文档:
1)启动应用时使用-D选项:
java -jar -Dspring.profiles.active=production demo-0.0.1-SNAPSHOT.jar
2)在您的操作系统环境中设置SPRING_PROFILES_ACTIVE
属性。