yml配置
jasypt:
encryptor:
password: U3buwRJdQ2023
algorithm: PBEWithMD5AndDES
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: yourUrl
username: yourUsername
password: AfTgQgleg==
connectionProperties: config.decrypt=true;config.decrypt.key=MFwwDEEAAQ==
# 数据库过滤器
filter:
config:
enabled: true
password:为你加密后的密码
connectionProperties: config.decrypt=true;config.decrypt.key=你生成的公钥
生成数据
方法一
public class DruidEncryptorUtils {
public static void main(String[] args) {
try {
String password = "yourPassword";
String[] arr = ConfigTools.genKeyPair(512);
// System.out.println("privateKey:" + arr[0]);
System.out.println("publicKey:" + arr[1]);
System.out.println("password:" + ConfigTools.encrypt(arr[0], password));
} catch (Exception e) {
e.printStackTrace();
}
}
}
方法二
java -cp druid-1.1.22.jar com.alibaba.druid.filter.config.ConfigTools 你的密码
# 加密方法 # java -cp druid-1.1.22.jar com.alibaba.druid.filter.config.ConfigTools ${youPassword} # connectionProperties: config.decrypt=true;config.decrypt.key=${publicKey} # password: ${password}
完整配置
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: ***
username: root
password: ***
connectionProperties: config.decrypt=true;config.decrypt.key=***
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
# 添加过滤规则
url-pattern: /*
# 忽略过滤格式
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
statViewServlet:
enabled: true
loginUsername: druid
loginPassword: druid123
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
config:
enabled: true # 数据库过滤器