我正在使用带有弹簧配置文件的 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}
我的分析是它试图在datasource
从第一个上下文属性占位符解析属性之前加载。我可能错了。或者,弹簧轮廓变量可能没有正确解析。
谁能帮我解决这个问题。
谢谢阿奇