如何从 Spring Boot 应用程序属性加载 Spring config xml $ 值
Posted
技术标签:
【中文标题】如何从 Spring Boot 应用程序属性加载 Spring config xml $ 值【英文标题】:How to load spring config xml $ values from spring boot application properties如何从 Spring Boot 应用程序属性加载 Spring config xml $ 值 【发布时间】:2018-06-25 16:29:23 【问题描述】:Camel Spring Boot 应用程序版本 2.20.1
如何在启动时将 application.properties 值加载到 spring config xml 参数?
例如:几个参数定义如下:-
eas.ssl.key-store-type = JKS
eas.ssl.key-store-password = *****
eas.ssl.key-store = filelocation
现在启动时同样需要在 Spring Config XML 中配置如下:
<sec:keyStore type="$eas.ssl.key-store-type" password="$eas.ssl.key-store-password" file="$eas.ssl.key-store" />
在日志中,我可以看到应用程序属性中的属性按预期检测到
PropertySourcesPropertyResolver : Found key 'eas.ssl.key-store-password'
但是,看起来键上的键并未作为值应用于配置 xml。 错误日志指出:-
org.apache.cxf.transport.https.SSLUtils : The key store password has not
been set via a system property or through configuration, reading data from
the keystore will fail.
【问题讨论】:
<sec:
命名空间是什么,它来自哪里。
正如我在最新评论中提到的,我的主要问题与 SSL HandshakeException(未找到合适的协议)有关。我正在使用 JDK 1.8。
后来我意识到 jdk 8 不支持密码过滤器“SSL_ECDHE_RSA_WITH_AES_128_CBC_SHA256”。一旦我更改为“TSL_ECDHE_RSA_WITH_AES_128_CBC_SHA256”,一切都开始按预期工作。
从该站点获得的解决方案提示: http://www.ateam-oracle.com/tls-and-java/
【讨论】:
以上是关于如何从 Spring Boot 应用程序属性加载 Spring config xml $ 值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Wildfly 中将外部属性文件加载到 Spring Boot