Springboot2 集成 druid 加密数据库密码的配置方法
作者:SioH
这篇文章给大家介绍Springboot2 集成 druid 加密数据库密码的配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
一:环境
springboot 2.x
druid 1.1.21
二:druid加密数据库密码
本地下载druid-1.1.21.jar包,运行cmd,输入命令
java -cp jar包路径 com.alibaba.druid.filter.config.ConfigTools 数据库密码 java -cp druid-1.1.21.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码
运行成功输出
privateKey:MIIBVAIBAD...
publicKey:MFwwDQYJKo...
password:PNd/zcG+JEn...
将得到的publicKey、password分别填充进yml配置文件即可
三:单数据源
添加依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency>
yml配置
spring: datasource: name: 名称 url: 地址 username: 用户名 password: 加密后的密码 driver-class-name: com.mysql.cj.jdbc.Driver # druid type: com.alibaba.druid.pool.DruidDataSource druid: #特别提示:配置数据库加密 config这个不能忘掉 filters: stat,wall,config use-global-data-source-stat: true # 开启解密config.decrypt=true; 公钥:config.decrypt.key connect-properties: druid.stat.mergeSql: true druid.stat.slowSqlMillis: 5000 druid.stat.logSlowSql: true config.decrypt: true config.decrypt.key: 公钥 # 连接池的配置信息 # 初始化大小,最小空闲连接数,最大活跃数 initial-size: 5 min-idle: 5 maxActive: 20 # 配置获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false # 打开PSCache,并且指定每个连接上PSCache的大小 poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20
四:多数据源
添加依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.3</version> </dependency>
启动类配置
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
eg:
yml配置
spring: datasource: dynamic: # 默认数据源 primary: CLOUD datasource: CLOUD: url: 数据库地址 username: 用户名 password: 加密后的密码 driver-class-name: com.mysql.cj.jdbc.Driver druid: public-key: 加密后的公钥 WAREHOUSE: driver-class-name: com.mysql.cj.jdbc.Driver url: 数据库地址 username: 用户名 password: 加密后的密码 druid: public-key: 加密后的公钥
到此这篇关于Springboot2 集成 druid 数据库密码加密的文章就介绍到这了,更多相关Springboot数据库密码加密内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!