从属性文件进行bean初始化时,为什么属性键没有用值替换?

时间:2018-06-27 00:35:07

标签: java spring-boot properties

我有一个Spring Boot应用程序(我们称之为project A),该应用程序是通过Java配置进行配置的。这个Spring Boot通过pom依赖项与一个小的子项目(我们称其为project B)具有依赖关系,该项目位于jar中(也使用spring框架实现)。

project A具有Java配置@Configuration,而project B也具有ApplicationContext-b.xml。 我强迫使用

加载它
@XmlBConfigruation(locations=classpath:ApplicationContext-b-xml.)

project B应用程序上下文使用某些属性,如下所示。

在主project A中,我有一个xxx-soa.properties文件,该文件具有此键和值${com.caiso.soa.saas.samlEncryptionKeyStoreConfiguration.store。 此密钥永远不会注入文件中的实际值。

<bean id="samlEncryptionKeyStoreConfiguration"
    class="com.xxxx.soa.saas.support.KeystoreConfiguration">
    <property name="store"   value="${com.xxxx.soa.saas.samlEncryptionKeyStoreConfiguration.store}" />
    <property name="type">
        <value>jks</value>
    </property>
    <property name="alias">
        <value>oati_b2b_test</value>
    </property>
    <property name="password">
        <value>changeit</value>
    </property>
    <property name="digestAlgorithm">
        <value>http://www.w3.org/2000/09/xmldsig#sha1</value>
    </property>
    <property name="signingAlgorithm">
        <value>http://www.w3.org/2000/09/xmldsig#rsa-sha1</value>
    </property>
</bean>

您有什么建议吗?

我已经尝试过的东西

TRIAL ONE
project A

@PropertySource(value = { "classpath:omsoati-app.properties", "classpath:omsint-framework-ws.properties", "**classpath:caiso-soa.properties**" })
@Import({ XxxxSoaSaasXmlConfiguration.class, OmsoatiAdapterConfiguration.class })

project A相关的瓶子 在project B中,属性文件位于war / jar中的web-inf\classess文件夹中

两次尝试
project B的{​​{1}}中,我也尝试像下面这样声明。

applicationContext-b.xml

但是没有任何效果。

我已附加日志文件here。它清楚地表明它能够在行号756加载属性文件

  

2018-06-26 15:22:58,773调试org.springframework.core.env.PropertySourcesPropertyResolver-在[类路径资源[caiso-soa.properties]中找到了密钥'com.caiso.soa.saas.samlEncryptionKeyStoreConfiguration.store' ]]类型为[String]

0 个答案:

没有答案