gpt4 book ai didi

java - 找不到具有多个上下文的属性 :property-placeholder

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:34 26 4
gpt4 key购买 nike

我正在使用带有 spring 配置文件的 spring 3.1 来加载 bean。在我的应用程序上下文文件中,我加载了如下属性:

<context:property-placeholder order="1"  location="classpath*:META-INF/spring/*_${spring.profiles.active}.properties" ignore-unresolvable="true"/>

然后我使用属性值来加载数据源 bean

<property name="driverClassName" value="${database.driverClassName}"/>

它工作正常。当我添加几个属性占位符以便可以加载某些数据库表中的属性时,问题就开始了。

这使用由

加载的属性引用
<bean id="configFactoryBean"
class="org.springmodules.commons.configuration.CommonsConfigurationFactoryBean">
<constructor-arg ref="globalSystemConfiguration"/>
</bean>

要添加更多细节,此 configFactoryBean 使用 datasource 从数据库加载属性。

当我这样做时,出现以下异常:

java.lang.ClassNotFoundException: ${database.driverClassName}

我的分析是它试图在从第一个上下文属性占位符解析属性之前加载数据源。我可能是错的。或者 spring 配置文件变量未正确解析。

谁能帮我解决这个问题。

谢谢阿基

最佳答案

这个关于多个属性占位符的错误可能与您的问题有关:https://jira.spring.io/browse/SPR-9989

When using multiple PropertyPlaceholderConfigurer in conjunction with @Value annotation and default value for placeholders syntax (ie ${key:defaultValue}), only the first PropertyPlaceholderConfigurer is used. If this configurer does not contain the desired value, it falls back to @Value default even if the second PropertyPlaceholderConfigurer contains the value.

Affects Version/s: 3.1.3

关于java - 找不到具有多个上下文的属性 :property-placeholder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16892752/

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