使用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-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools you_password
输出
h9gzp23dkJIZ95Xzj/waxsC2oJ1JoWTh76o4aw7+uGGh63ovAULVOrPewOwHP5i3LCIXqNyvpxJ2nceDFBbzVw==
输入你的数据库密码,输出的是加密后的结果。
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="h9gzp23dkJIZ95Xzj/waxsC2oJ1JoWTh76o4aw7+uGGh63ovAULVOrPewOwHP5i3LCIXqNyvpxJ2nceDFBbzVw==" />
<property name="filters" value="config" />
<property name="connectionProperties" value="config.decrypt=true" />
</bean>
2.3 配置参数,让ConfigFilter解密密码
有三种方式配置:
1) 可以在配置文件my.properties中指定config.decrypt=true
2) 也可以在DruidDataSource的ConnectionProperties中指定config.decrypt=true
3) 也可以在jvm启动参数中指定-Ddruid.config.decrypt=true
分享到:
相关推荐
本教程将详细介绍如何在Java项目中使用Druid数据连接池连接PostgreSQL数据库,以实现一个简单的测试环境。 首先,我们需要了解Druid数据连接池的基本概念。Druid提供了一种高效、灵活的数据库连接管理方式,它可以...
下面我们将详细介绍 Druid 数据库连接池的简单使用和配置。 1. **下载与引入**: 要使用 Druid,首先需要下载其对应的 JAR 包,通常可以从 Maven 中央仓库(http://repo1.maven.org/maven2/com/alibaba/druid/)...
本篇文章将深入探讨如何在Spring Boot项目中结合使用Druid和JPA进行数据库操作。 首先,我们需要理解Druid。Druid是一个高性能、全面监控、智能诊断的数据库连接池。它提供了强大的监控和扩展功能,包括SQL解析、...
Druid是阿里巴巴开源的一个强大、灵活且全面的数据库连接池组件,它不仅提供了数据库连接池功能,还集成了数据库监控、SQL解析、性能分析等多种高级特性。在这个“druid案例”中,我们将深入探讨Druid的核心功能及其...
本教程将详细介绍如何在SSM项目中配置并使用Druid连接池。 首先,我们需要了解Druid的核心优势。Druid提供了监控、扩展性、性能优化等功能。它支持WebStatFilter监控SQL执行情况,可以实时查看数据库连接状态、SQL...
"Druid数据库连接池使用" Druid是一个功能强大且高效的数据库连接池,具有许多优点,以下是Druid的组成部分和可以实现的功能: Druid的组成部分 Druid是一个JDBC组件,由三个部分组成: 1. DruidDriver:代理...
8. **索引与存储**:Druid使用列式存储和分块技术,提高数据读取效率。`druid-indexing-service`模块包含了索引构建和更新的逻辑。 通过对Druid源码的学习,开发者不仅可以深入了解数据库连接池的设计原理,还可以...
赠送jar包:druid-1.1.10.jar; 赠送原API文档:druid-1.1.10-javadoc.jar; 赠送源代码:druid-1.1.10-sources.jar; 赠送Maven依赖信息文件:druid-1.1.10.pom; 包含翻译后的API文档:druid-1.1.10-javadoc-API...
本篇文章是Druid系列教程的一部分,主要介绍了如何使用三种不同的方式来摄入数据和提交任务到Druid集群。首先,我们需要确保Druid已经正确部署并能够正常运行。接下来,我们将详细探讨这三个示例。 **简单示例1:...
7. **支持Spring Boot集成**:随着Spring Boot的广泛应用,Druid也提供了与Spring Boot的无缝集成,只需要在配置文件中简单配置即可使用。 8. **Druid-1.1.21版本更新**:这个版本可能是对之前版本的bug修复、性能...
在本实例中,我们将深入探讨Druid的使用方法,包括其基本配置、核心特性以及如何在实际项目中应用。 首先,Druid的核心功能是作为数据库连接池,它通过维护一组数据库连接来提高数据库访问效率。当我们需要执行SQL...
在使用Java集成阿里云的Druid数据源进行数据库连接池管理时,我们可能会遇到一个比较烦人的问题:Druid控制台页面下方默认会显示一条来自阿里的横幅广告。虽然这并不影响实际的功能使用,但对于追求整洁美观的开发者...
*Extensions:使用mysql存储配置信息 * zookeeper:Druid.zk.service.host=192.168.167.170:2181, 192.168.167.171:2181, 192.168.167.173:2181 * mysql:需要实现创建Druid数据库和授权 * druid.metadata.storage....
这个"参照阿里druid个人整理druid-spring-boot-starter可运行demo"是基于Spring Boot 2.x版本的,包含了Druid的基本配置和使用。为了构建一个完整的Druid配置,你需要以下几个步骤: 1. **依赖添加**:在`pom.xml`...
赠送jar包:druid-1.1.16.jar; 赠送原API文档:druid-1.1.16-javadoc.jar; 赠送源代码:druid-1.1.16-sources.jar; 赠送Maven依赖信息文件:druid-1.1.16.pom; 包含翻译后的API文档:druid-1.1.16-javadoc-API...
Druid连接池在Java Web开发中被广泛使用,它提供了监控、扩展性、性能优化等特性,使得数据库连接管理更加便捷和高效。 首先,我们需要了解为什么需要数据库连接池。在Web应用中,频繁地创建和销毁数据库连接会消耗...
2. **安全防护**:Druid提供了防止SQL注入的`com.alibaba.druid.filter.config.ConfigFilter`,通过对SQL进行预处理,有效提升了系统的安全性。 五、性能优化 1. **连接池性能**:Druid在连接创建、销毁、获取和...
赠送jar包:druid-1.2.8.jar; 赠送原API文档:druid-1.2.8-javadoc.jar; 赠送源代码:druid-1.2.8-sources.jar; 赠送Maven依赖信息文件:druid-1.2.8.pom; 包含翻译后的API文档:druid-1.2.8-javadoc-API文档-...
4. Druid Admin 的使用限制 由于 Druid Monitor 的登录校验基于 Session 设计,在无状态的微服务中不适用。建议直接暴露所有 Druid 相关的端点,通过前置网关统一接口权限。 5. Druid Admin 的监控数据持久化 ...
赠送jar包:druid-1.2.8.jar; 赠送原API文档:druid-1.2.8-javadoc.jar; 赠送源代码:druid-1.2.8-sources.jar; 赠送Maven依赖信息文件:druid-1.2.8.pom; 包含翻译后的API文档:druid-1.2.8-javadoc-API文档-...