エンコードされたパスワードを下記のspringApplicationContext.xmlに保持したい
これを達成する方法はありますか?
現在、以下に示すようにproperty-placeholderを使用してすべてのプロパティを構成しましたが、生のパスワードはまだdatabase.propertiesで開いています。
springApplicationContext.xml
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<beans:property name="driverClassName"><beans:value>${db.driverClassName}</beans:value></beans:property>
<beans:property name="url"><beans:value>${db.url}</beans:value></beans:property>
<beans:property name="username"><beans:value>${db.username}</beans:value></beans:property>
<beans:property name="password"><beans:value>${db.password}</beans:value></beans:property>
</beans:bean>
しかし、実際の値は私の中に存在しますdatabase.properties
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/myDB
db.username=root
db.password=root
私は以下のようなものが欲しいです:
springApplicationContext.xml(上記と同じ)
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<beans:property name="driverClassName"><beans:value>${db.driverClassName}</beans:value></beans:property>
<beans:property name="url"><beans:value>${db.url}</beans:value></beans:property>
<beans:property name="username"><beans:value>${db.username}</beans:value></beans:property>
<beans:property name="password"><beans:value>${db.password}</beans:value></beans:property>
</beans:bean>
しかし、パスワードのプロパティ値は、私の場合は暗号化された形式である必要がありますdatabase.properties
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/myDB
db.username=root
db.password=3g6n72ef8x (using any encription method).
そして私のdataSourceは、新しいDB接続を確立する前にパスワードを内部的に復号化します。
これに関する助け/提案を高く評価します。