使用druid可以在配置环境中对数据库密码进行加密,本篇主要讲解druid密码加密,以及配合spring进行配置。
首先是要用druid作为数据库连接池,datasource的配置如下:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <!-- 初始化连接大小 --> <property name="initialSize" value="5"/> <property name="maxActive"> <value>${jdbc.pool.maxActive}</value> </property> <property name="minIdle"> <value>${jdbc.pool.minIdle}</value> </property> <property name="maxWait"> <value>${jdbc.pool.maxWait}</value> </property> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000"/> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000"/> <!-- 打开removeAbandoned功能 --> <property name="removeAbandoned" value="true"/> <!-- 1800秒,也就是30分钟 --> <property name="removeAbandonedTimeout" value="1800"/> <!-- 关闭abanded连接时输出错误日志 --> <property name="logAbandoned" value="true"/> <property name="timeBetweenLogStatsMillis" value="300000"/> <!-- 监控数据库 --> <!-- <property name="filters" value="stat" /> --> <property name="filters" value="stat,config,wall,slf4j,log4j"/> <!--加密--> <property name="connectionProperties" value="config.decrypt=true" /> <!--<property name="filters" value="wall,stat" />--> <property name="proxyFilters"> <list> <ref bean="logFilter"/> </list> </property> </bean>
在applicationContext.xml中配置:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.1.xx:8096/chiq3?useUnicode=true&characterEncoding=utf-8 jdbc.username=chiqx jdbc.password=Ix45+lcCIAwvu4OwbsaVaIBShjsMP0jMp/FXGnpcgyL0M2TbOKzra88GbMYdHWs7nswtVfiKE7PD4Shbg7qChQ==
如何生成密码呢?
--进入druid的jar包所在的目录,使用java命令
java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools you_password
原文:http://www.cnblogs.com/bruceChan0018/p/5826191.html