gpt4 book ai didi

java - spring java配置环境变量

转载 作者:太空宇宙 更新时间:2023-11-04 13:07:07 26 4
gpt4 key购买 nike

我正在使用 Spring,并且正在从 xml 配置切换到 java 配置。实际上,我面临环境变量的问题,因为我不明白如何检索环境变量的值。

通过 xml 配置,我有以下内容

<bean id="myAppProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="file:${MY_ENV_VAR}/applicationConfiguration/external.properties"/>
<property name="fileEncoding" value="UTF-8"/>
</bean>

我不明白以什么方式可以将以前的xml代码切换到相同的java配置。我已经尝试过这个了

@Bean
public PropertiesFactoryBean cvlExternalProperties() {
PropertiesFactoryBean res = new PropertiesFactoryBean();
res.setFileEncoding("UTF-8");
res.setLocation(new FileSystemResource("file:${MY_ENV_VAR}/applicationConfiguration/external.properties"));
return res;
}

但是没有成功。我尝试过环境类,但有任何改进。

你能帮我吗?

最佳答案

您可以使用@Value注释或@ConfigProperties-Classes注入(inject)它们

试试这个:

@Bean
public PropertiesFactoryBean cvlExternalProperties(@Value("${MY_ENV_VAR}") String envVar) {
PropertiesFactoryBean res = new PropertiesFactoryBean();
res.setFileEncoding("UTF-8");
res.setLocation(new FileSystemResource("file:" + envVar + "/applicationConfiguration/external.propert ies"));
return res;
}

您可以在这里找到更多内容:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config

关于java - spring java配置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34323737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com