0

我在春季项目中使用 HikariCP。现在,我定义了一个这样的连接

<bean id="hikariConfigLegacyReasonCode" class="com.zaxxer.hikari.HikariConfig">
    <property name="poolName" value="HikariCPReasonCodePool" />
    <property name="connectionTestQuery" value="SELECT 1" />
    <property name="dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"/>
    <property name="registerMbeans" value="true"/>
    <property name="maximumPoolSize" value="15"/>
     <property name="idleTimeout" value="60000"/>
     <property name="connectionTimeout" value="5000" ></property>

    <property name="dataSourceProperties">
        <props>
             <prop key="url">jdbc:mysql://${LegacyReasonCodeIp}</prop>
             <prop key="user">${LegacyReasonCodeUsername}</prop>
             <prop key="password">${LegacyReasonCodePassword}</prop>
             <prop key="cachePrepStmts" >true</prop>
             <prop key="prepStmtCacheSize" >250</prop>
             <prop key="prepStmtCacheSqlLimit" >2048</prop>
             <prop key="useServerPrepStmts" >true</prop>    

        </props>
    </property>

在这里,服务器名称、用户名和密码将从属性文件中加载。有没有办法以加密方式将数据库密码存储在属性文件中?

4

1 回答 1

1

试试 jasypt 项目。它包括许多 Spring 集成,包括以下实现:

  • PropertyPlaceholderConfigurer
  • PropertyOverrideConfigurer
  • PreferencesPlaceholderConfigurer

http://www.jasypt.org/spring31.html

于 2015-03-06T04:10:00.673 回答