SpringMVC配置資料庫連線池使用druid進行加密
阿新 • • 發佈:2019-01-25
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本屬性 url、user、password --> <property name="url" value="jdbc:oracle:thin:@10.11.88.36:1521:orcl"/> <property name="username" value="nc65_0229"/> <property name="password" value="WF5U2qD7b4ZtgX9mm7SYlgIZXRXheJGo0nJEFkWHPfC1XdpMXIOuPzbdaJYRfRH4z0ITLHg45QqtjwifFAEMog=="/> <property name="filters" value="config"/> <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIW0rmafuykBWZpdSyKq8ih2jaXmmQqdeSI8PrDFWjs58eL909pvFEdYbqSuHnYa7Hhn44NoyLmty+1h5yJRxzMCAwEAAQ=="/> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="1"/> <property name="minIdle" value="1"/> <property name="maxActive" value="20"/> <!-- 配置獲取連線等待超時的時間 --> <property name="maxWait" value="60000"/> <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000"/> <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000"/> <property name="validationQuery" value="SELECT 1 FROM DUAL"/> <property name="testWhileIdle" value="true"/> <property name="testOnBorrow" value="false"/> <property name="testOnReturn" value="false"/> <!-- 開啟PSCache,並且指定每個連線上PSCache的大小 --> <property name="poolPreparedStatements" value="false"/> <property name="maxPoolPreparedStatementPerConnectionSize" value="20"/></bean>當連線資料庫的密碼發生變化時:1).需要使用druid-1.0.16.jar對密碼進行加密。開啟cmd進入Dos中開啟druid-1.0.16.jar的目錄執行 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools your_password成功後會有privateKey publicKey passwordpublicKey 放到 <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIW0rmafuykBWZpdSyKq8ih2jaXmmQqdeSI8PrDFWjs58eL909pvFEdYbqSuHnYa7Hhn44NoyLmty+1h5yJRxzMCAwEAAQ=="/>中password 放到 <property name="password" value="WF5U2qD7b4ZtgX9mm7SYlgIZXRXheJGo0nJEFkWHPfC1XdpMXIOuPzbdaJYRfRH4z0ITLHg45QqtjwifFAEMog=="/>
下圖是對應的輸出效果