春のプレースホルダー構成で問題に直面しています。解決策を見つけようとしてウェブを検索しましたが、何もうまくいきませんでした。
.properties ファイルをロードするために spring configurer を使用していましたが、configfiles が 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 は、Web アプリで依存関係として使用される core-lib.jar に配置されます。ロギングなどの他の構成はうまく機能します。
何か提案があればよろしくお願いします。