spring2 配置文件
- <?xml version="1.0"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <!-- 数据源配置 -->
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
- <property name="driverClass">
- <value>oracle.jdbc.driver.OracleDriver</value>
- </property>
- <property name="jdbcUrl" value="jdbc:oracle:thin:@IP:端口:SID" />
- <property name="acquireIncrement" value="1"/>
- <property name="idleConnectionTestPeriod" value="300"/>
- <property name="maxPoolSize" value="5"/>
- <property name="minPoolSize" value="1"/>
- <property name="initialPoolSize" value="1" />
- <property name="numHelperThreads" value="3"/>
- <property name="maxIdleTime" value="1200" />
- <property name="acquireRetryAttempts" value="2"/>
- <property name="preferredTestQuery" value=" select 1 from dual "/>
- <property name="testConnectionOnCheckin" value="true"/>
- [color=red]<property name="properties" ref="dataSourceProperties"/>[/color]
- </bean>
- <bean id="dataSourceProperties" class="PropertiesEncryptFactoryBean">
- <property name="properties">
- <props>
- <prop key="user">xxxx加密后</prop>
- <prop key="password">xxxxxxx加密后</prop>
- </props>
- </property>
- </bean>
2.PropertiesEncryptFactoryBean(加密类)
- import java.util.Properties;
- import org.springframework.beans.factory.FactoryBean;
- public class PropertiesEncryptFactoryBean implements FactoryBean {
- private Properties properties;
- public Object getObject() throws Exception {
- return getProperties();
- }
- public Class getObjectType() {
- return java.util.Properties.class;
- }
- public boolean isSingleton() {
- return true;
- }
- public Properties getProperties() {
- return properties;
- }
- public void setProperties(Properties inProperties) {
- this.properties = inProperties;
- String originalUsername = properties.getProperty("user");
- String originalPassword = properties.getProperty("password");
- if (originalUsername != null){
- String newUsername = deEncryptUsername(originalUsername);
- properties.put("user", newUsername);
- }
- if (originalPassword != null){
- String newPassword = deEncryptPassword(originalPassword);
- properties.put("password", newPassword);
- }
- }
- private String deEncryptUsername(String originalUsername){
- return deEncryptString(originalUsername);
- }
- private String deEncryptPassword(String originalPassword){
- return deEncryptString(originalPassword);
- }
- //简单加密
- private String deEncryptString(String originalString){
- StringBuilder newString = new StringBuilder();
- for (int i = 0; i < originalString.length(); i++) {
- char eachChar= originalString.charAt(i);
- char newChar = (char)(eachChar + i);
- newString.append(newChar);
- }
- return newString.toString();
- }
- }
ComboPooledDataSource的properties属性可被注入user,password
只有user,password两个属性是可配置,其他属性不存也不是取自properties(具体可看C3P0源码)
相关推荐
图片到图片装载器、绘制火焰效果的X坐标,Y坐标、得到X坐标,Y坐标值、绘制火焰效果Image…… Java加密解密工具集 JCT v1.0源码包 5个目标文件 内容索引:JAVA源码,综合应用,JCT,加密解密 WDSsoft的一款免费源代码 JCT ...
WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...