欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Springboot2 集成 druid 加密数据库密码的配置方法

时间:2023-02-15 13:15:12|栏目:JAVA代码|点击:

一:环境

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: 加密后的公钥

上一篇:Activiti7整合Springboot使用记录

栏    目:JAVA代码

下一篇:mybatis plus实体类中字段映射mysql中的json格式方式

本文标题:Springboot2 集成 druid 加密数据库密码的配置方法

本文地址:http://www.codeinn.net/misctech/225803.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有