使用ConfigFilter
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解密密码
有三种方式配置:
- 可以在配置文件my.properties中指定config.decrypt=true
- 也可以在DruidDataSource的ConnectionProperties中指定config.decrypt=true
- 也可以在jvm启动参数中指定-Ddruid.config.decrypt=true
转载于:https://www.cnblogs.com/xiaohu1218/p/7223031.html
使用ConfigFilter相关推荐
- Druid使用ConfigFilter
2019独角兽企业重金招聘Python工程师标准>>> 1 配置ConfigFilter 1.1 配置文件从本地文件系统中读取 <bean id="dataSourc ...
- 使用durid的ConfigFilter对数据库密码加密
原文连接:http://blog.csdn.net/aixiaoyang168/article/details/49930513 ----------------------------------- ...
- SpringBoot整合JDBC、整合Druid数据源详解教程
目录 一.整合JDBC 1. 环境准备 1. 创建数据库 2. 创建SpringBoot项目 3. IDEA连接数据库 2. 编写数据库配置信息 3. 编写测试类测试 4. CRUD操作数据库 1. ...
- Druid 0.2.18 发布,阿里巴巴数据库连接池
阿里开源数据库连接池druid发布0.2.18版本,主要增强对tddl的支持和bug修复. Bug [DRUID-243] - 当log4j不存在时不该输出错误信息 [DRUID-244] - Ora ...
- Java基础篇:JDBC核心技术
文章目录 第1章:JDBC概述 1.1 数据的持久化 1.2 JDBC介绍 1.3 JDBC程序编写步骤 第2章:获取数据库连接 2.1 要素一:Driver接口实现类 2.1.1 Driver接口介 ...
- SSM项目的数据库密码加密方案
项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...
- [转]阿里巴巴数据库连接池 druid配置详解
一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...
- Spring Boot 2.x基础教程:使用国产数据库连接池Druid
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | http://blog.di ...
- druid ssh加密 java mysql_springboot 整合druid数据库密码加密功能的实现代码
在之前给大家介绍过Springboot Druid 自定义加密数据库密码的几种方案,感兴趣的朋友可以点击查看下,今天通过本文给大家介绍springboot 整合druid数据库密码加密功能,具体内容如 ...
最新文章
- 点云网络的论文理解(六)-Frustum PointNets 总体概括
- Load和Initialize的往死了问是一种怎样的体验
- 8个实用而有趣Bash命令提示行
- C#正则表达式判断输入日期格式是否正确
- 实现第一个Servlet程序
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】
- BLE - LINK LAYER SPECIFICATION
- web网页 页面布局的几种方式(转)
- 漫画:什么是A*寻路算法?
- eclipse无法弹出控制台
- xshell5和xftp5安装教程
- 基于语音识别的智能垃圾分类控制系统设计
- 《山海经》异兽75种,附图
- 串联型与并联型电压基准的区别
- centos7桌面没有计算机图标,Centos7,桌面图标消失且右键失效
- 智能柜怎么与Android通信,快递智能柜Android系统该何去何从
- 树莓派4无痛安装OpenCV+python3
- vs2012 visual studio 2012安装失败管道正在关闭解决方法
- 字符串的插入(不用库函数)
- js中身份证校验规则
热门文章
- 【.Net实用方法总结】 整理并总结System.IO中MemoryStream类及其方法介绍
- Unity封装MemoryStream进行内存读写
- 计算机科学技术发展现状及前景展望,计算机科学技术的现状及其发展前景分析原稿...
- DirectDraw学习:第一课
- Oracle 官网网址
- 【历史上的今天】10 月 29 日:互联网的正式诞生;MariaDB 发布首个版本;“天河一号”研制成功
- 超强技巧分享,如何将人民币大小写转换?
- 《嵌入式 - Lwip开发指南》第5章 LWIP测速
- 智行者王肖:自动驾驶本质在于对待数据的态度、获取及应用方式 | 自动驾驶这十年... 1
- 安卓adb工具的使用