ConfigFilter的作用包括:

  • 从配置文件中读取配置
  • 从远程http文件中读取配置
  • 为数据库密码提供加密功能

1 配置ConfigFilter

1.1 配置文件从本地文件系统中读取

 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="filters" value="config" /> <property name="connectionProperties" value="config.file=file:///home/admin/druid-pool.properties" /> </bean>

1.2 配置文件从远程http服务器中读取

 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="filters" value="config" /> <property name="connectionProperties" value="config.file=http://127.0.0.1/druid-pool.properties" /> </bean>

这种配置方式,使得一个应用集群中,多个实例可以从同一个地方读取配置,集中配置,集中修改,部署更简单。

1.3 通过jvm启动参数来使用ConfigFilter

DruidDataSource支持jvm启动参数配置filters,所以你可以:

java -Ddruid.filters=config ....

2 数据库密码加密

数据库密码直接写在配置中,对运维安全来说,是一个很大的挑战。Druid为此提供一种数据库密码加密的手段ConfigFilter。

2.1 执行命令加密数据库密码

在命令行中执行如下命令:

java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password

输出

privateKey:MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEA6+4avFnQKP+O7bu5YnxWoOZjv3no4aFV558HTPDoXs6EGD0HP7RzzhGPOKmpLQ1BbA5viSht+aDdaxXp6SvtMQIDAQABAkAeQt4fBo4SlCTrDUcMANLDtIlax/I87oqsONOg5M2JS0jNSbZuAXDv7/YEGEtMKuIESBZh7pvVG8FV531/fyOZAiEA+POkE+QwVbUfGyeugR6IGvnt4yeOwkC3bUoATScsN98CIQDynBXC8YngDNwZ62QPX+ONpqCel6g8NO9VKC+ETaS87wIhAKRouxZL38PqfqV/WlZ5ZGd0YS9gA360IK8zbOmHEkO/AiEAsES3iuvzQNYXFL3x9Tm2GzT1fkSx9wx+12BbJcVD7AECIQCD3Tv9S+AgRhQoNcuaSDNluVrL/B/wOmJRLqaOVJLQGg==
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOvuGrxZ0Cj/ju27uWJ8VqDmY7956OGhVeefB0zw6F7OhBg9Bz+0c84RjzipqS0NQWwOb4kobfmg3WsV6ekr7TECAwEAAQ==
password:PNak4Yui0+2Ft6JSoKBsgNPl+A033rdLhFw+L0np1o+HDRrCo9VkCuiiXviEMYwUgpHZUFxb2FpE0YmSguuRww==

输入你的数据库密码,输出的是加密后的结果。

2.2 配置数据源,提示Druid数据源需要对数据库密码进行解密。

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="jdbc:derby:memory:spring-test;create=true" /> <property name="username" value="sa" /> <property name="password" value="${password}" /> <property name="filters" value="config" /> <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publickey}" /> </bean>

2.3 配置参数,让ConfigFilter解密密码

有三种方式配置:

  1. 可以在配置文件my.properties中指定config.decrypt=true
  2. 也可以在DruidDataSource的ConnectionProperties中指定config.decrypt=true
  3. 也可以在jvm启动参数中指定-Ddruid.config.decrypt=true

转载于:https://www.cnblogs.com/xiaohu1218/p/7223031.html

使用ConfigFilter相关推荐

  1. Druid使用ConfigFilter

    2019独角兽企业重金招聘Python工程师标准>>> 1 配置ConfigFilter 1.1 配置文件从本地文件系统中读取 <bean id="dataSourc ...

  2. 使用durid的ConfigFilter对数据库密码加密

    原文连接:http://blog.csdn.net/aixiaoyang168/article/details/49930513 ----------------------------------- ...

  3. SpringBoot整合JDBC、整合Druid数据源详解教程

    目录 一.整合JDBC 1. 环境准备 1. 创建数据库 2. 创建SpringBoot项目 3. IDEA连接数据库 2. 编写数据库配置信息 3. 编写测试类测试 4. CRUD操作数据库 1. ...

  4. Druid 0.2.18 发布,阿里巴巴数据库连接池

    阿里开源数据库连接池druid发布0.2.18版本,主要增强对tddl的支持和bug修复. Bug [DRUID-243] - 当log4j不存在时不该输出错误信息 [DRUID-244] - Ora ...

  5. Java基础篇:JDBC核心技术

    文章目录 第1章:JDBC概述 1.1 数据的持久化 1.2 JDBC介绍 1.3 JDBC程序编写步骤 第2章:获取数据库连接 2.1 要素一:Driver接口实现类 2.1.1 Driver接口介 ...

  6. SSM项目的数据库密码加密方案

    项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...

  7. [转]阿里巴巴数据库连接池 druid配置详解

    一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...

  8. Spring Boot 2.x基础教程:使用国产数据库连接池Druid

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | http://blog.di ...

  9. druid ssh加密 java mysql_springboot 整合druid数据库密码加密功能的实现代码

    在之前给大家介绍过Springboot Druid 自定义加密数据库密码的几种方案,感兴趣的朋友可以点击查看下,今天通过本文给大家介绍springboot 整合druid数据库密码加密功能,具体内容如 ...

最新文章

  1. 点云网络的论文理解(六)-Frustum PointNets 总体概括
  2. Load和Initialize的往死了问是一种怎样的体验
  3. 8个实用而有趣Bash命令提示行
  4. C#正则表达式判断输入日期格式是否正确
  5. 实现第一个Servlet程序
  6. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】
  7. BLE - LINK LAYER SPECIFICATION
  8. web网页 页面布局的几种方式(转)
  9. 漫画:什么是A*寻路算法?
  10. eclipse无法弹出控制台
  11. xshell5和xftp5安装教程
  12. 基于语音识别的智能垃圾分类控制系统设计
  13. 《山海经》异兽75种,附图
  14. 串联型与并联型电压基准的区别
  15. centos7桌面没有计算机图标,Centos7,桌面图标消失且右键失效
  16. 智能柜怎么与Android通信,快递智能柜Android系统该何去何从
  17. 树莓派4无痛安装OpenCV+python3
  18. vs2012 visual studio 2012安装失败管道正在关闭解决方法
  19. 字符串的插入(不用库函数)
  20. js中身份证校验规则

热门文章

  1. 【.Net实用方法总结】 整理并总结System.IO中MemoryStream类及其方法介绍
  2. Unity封装MemoryStream进行内存读写
  3. 计算机科学技术发展现状及前景展望,计算机科学技术的现状及其发展前景分析原稿...
  4. DirectDraw学习:第一课
  5. Oracle 官网网址
  6. 【历史上的今天】10 月 29 日:互联网的正式诞生;MariaDB 发布首个版本;“天河一号”研制成功
  7. 超强技巧分享,如何将人民币大小写转换?
  8. 《嵌入式 - Lwip开发指南》第5章 LWIP测速
  9. 智行者王肖:自动驾驶本质在于对待数据的态度、获取及应用方式 | 自动驾驶这十年... 1
  10. 安卓adb工具的使用