睁眼写BUG,闭眼改BUG。

Spring Boot 2.x 整合druid,将数据库密码加密

2019.06.26
  1. 引入依赖
        <dependency>
            <groupId>com.github.drtrang</groupId>
            <artifactId>druid-spring-boot2-starter</artifactId>
            <version>${com.alibaba.druid.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.drtrang</groupId>
            <artifactId>druid-spring-boot2-actuator-starter</artifactId>
            <version>${com.alibaba.druid.version}</version>
        </dependency>
  1. 配置yml
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://localhost:3306/dtai?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: [password] # 加密后的
    #druid配置
    druid:
      initial-size: 5  #初始化连接数
      max-active: 20 #最大连接数
      min-idle: 5 #最小连接数
      max-wait: 6000 #最大等待时间
      connect-properties: config.decrypt=true;config.decrypt.key=${spring.datasource.druid.config.key}
      #开启监控页面
      stat-view-servlet:
        enabled: true
        login-username: admin
        login-password: 5211
      #开启Web监控
      web-stat:
        enabled: true
      #开启AOP监控
      aop-stat:
        enabled: true
      #开启WallFilter
      wall:
        enabled: true
        throw-exception: true
      config:
        enabled: true
        #加密秘钥
        key:  [public-key] # 加密后的公钥
  1. 加密
    3.1 找到druid包,执行以下命令
java -cp druid-1.1.10.jar com.alibaba.druid.filter.config.ConfigTools your_password
  1. 复制你的公钥和加密后密码填入yml