我试着配置我的application.properties从我设置的系统变量中获取值。问题是无论我怎么做它都不起作用。我试着使用this example中的DataSource的自定义类配置,但仍然没有成功。我在stackoverflow上只能找到指向官方文档的链接。不幸的是,这是一个死胡同,因为它不包含“我什么都没说,也没有我想要实现的例子。我还找到了像spring.datasource.url = ${SPRING_DATASOURCE_URL}
这样的例子,每个人都说spring知道如何自动获取环境变量。好吧,令人惊讶的是,它没有。
我还发现了像spring.datasource.password = ${SPRING_DATASOURCE_PASSWORD:the_actual_password)
或spring.datasource.url = #{SPRING_DATASOURCE_URL:#{'the_actual_url'}}
这样的例子,这完全不是我所需要的,如果你问我的话,这是非常无用的。我的意思是,我可以通过编写spring.datasource.password = the_actual_password
来实现同样的事情。关键是隐藏敏感数据。
现在,我会留下两张截图,我之所以要做到这一点,是因为当我推到GitHub时,我不必担心我的证书或任何东西会被公开给每个人看。
下面是我的环境变量的外观:
以下是www.example.com的application.properties外观:
提前谢谢你!如果你对我的问题有答案的话,你能让我知道除了application.jwt属性之外,我如何用环境变量实现同样的事情吗?
2条答案
按热度按时间zf2sa74q1#
好吧,我想这个解决方案是相当...愚蠢的,但它在这里。它不起作用的原因是因为环境变量是在IntelliJ第一次打开后定义的,如here所述。现在看起来一切都很好。
我设法实现了我想要的功能。
换句话说就是:
现在运行得很好。
谢谢你的帮助!
xxls0lw82#
是否使用了正确的注解?
给定如下属性:
环境变量,如:
配置类:
可以通过在主类上设置
@ConfigurationPropertiesScan
来使用Records
定义记录如下: