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