我面临弹簧占位符配置的问题。我已经在网上搜索试图找到解决方案,但对我来说根本没有任何效果。
我们曾经使用 spring 配置器来加载我们的 .properties 文件,并且由于配置文件位于 META-INF 目录中,因此一切正常。
现在我们需要将配置文件放在 /etc/sep/properties 目录或其他文件系统目录中。
我试着用
<context:property-placeholder location="file:/etc/sep/properties/jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.databaseurl}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialPoolSize}" />
</bean>
/etc/sep/properties/jdbc.properties 的内容如下:
cat /etc/sep/properties/jdbc.properties
jdbc.driverClassName= org.postgresql.Driver
jdbc.dialect=org.hibernate.dialect.PostgreSQLDialect
jdbc.databaseurl=jdbc:postgresql://localhost:5432/sep?characterEncoding=utf8&autoReconnect=true
jdbc.username=****
jdbc.password=****
我也尝试使用另一种方法,但它对我也不起作用。
<context:property-placeholder properties-ref="prop" />
<util:properties id="prop" location="reso"/>
<bean id="reso" class="org.springframework.core.io.FileSystemResource">
<constructor-arg index="0" value="/etc/sep/properties/jdbc.properties" />
</bean>
我不知道这是否重要,但我们正在使用 maven 构建,因此 application-context.xml 被放置在 core-lib.jar 中,它在我们的 web-app 中用作依赖项。其他配置,例如日志记录工作得很好。
我将不胜感激任何建议。