Druid的數據庫連接池配置。
<!-- 基於Druid數據庫連接池的數據源配置 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本屬性driverClassName、 url、user、password -->
<property name="driverClassName" value="${jdbc.driverClass}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 配置初始化大小、最小、最大 -->
<!-- 通常來說,只需要修改initialSize、minIdle、maxActive -->
<property name="initialSize" value="2" />
<property name="minIdle" value="2" />
<property name="maxActive" value="30" />
<property name="testWhileIdle" value="false" />
<!-- 配置獲取連接等待超時的時間 -->
<property name="maxWait" value="5000" />
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="30000" />
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 解密密碼必須要配置的項 -->
<property name="filters" value="config" />
<property name="connectionProperties" value="config.decrypt=true" />
</bean>
jdbc.properties
## driver
jdbc.driverClass=com.mysql.cj.jdbc.Driver
## url
jdbc.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8
## username
jdbc.username=root
## password 123456
jdbc.password=Biyu5YzU+6sxDRbmWEa3B2uUcImzDo0BuXjTlL505+/pTb+/0Oqd3ou1R6J8+9Fy3CYrM18nBDqf6wAaPgUGOg==
Druid數據庫連接密碼加密、解密。
import com.alibaba.druid.filter.config.ConfigTools;
public class TestDruid {
public static void main(String[] args) throws Exception {
String password = "123456";
//加密,密文
String pass = ConfigTools.encrypt(password);
System.out.println(pass);
//解密,明文
String text = ConfigTools.decrypt(pass);
System.out.println(text);
}
}
運行druid-0.2.23.jar ConfigTools.java類中的main方法,RSA加密明文123456,生成數據庫連接密文。
java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools 123456