spring托管struts和ibatis配置

来源:互联网 发布:淘宝盗图扣2分怎么处理 编辑:程序博客网 时间:2024/06/05 09:41

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


 <bean id="propertyConfigurer" class="com.common.util.ClassDemo">-- -->ClassDemo用来解密jdbc.properties
   <property name="location" value="WEB-INF/jdbc.properties"/>
 </bean>
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
   <property name="url" value="${jdbc.address}" />
   <property name="username" value="${jdbc.username}" />
   <property name="password" value="${jdbc.password}" />
 </bean>
 
 <import resource="applicationContext_user.xml" />
 

 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" scope="prototype">
  <property name="configLocation" value="WEB-INF/conf/ibatis/sqlMapConfig.xml" />
  <property name="dataSource" ref="dataSource"/>
 </bean>

 <bean id="daoparent" abstract="true">
  <property name="sqlMapClient" ref="sqlMapClient" />
 </bean>
 
 <bean class="com.common.dao.SingleSqlMapClinet" parent="daoparent"></bean>
  
</beans>

 

以下是SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig        
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
 <transactionManager type="JDBC">
  <dataSource type="SIMPLE">
   <property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
   <property name="JDBC.ConnectionURL"
    value="jdbc:mysql://19.133.134.124:3306/text" />
   <property name="JDBC.Username" value="root" />
   <property name="JDBC.Password" value="root" />
  </dataSource>
 </transactionManager>
 <sqlMap resource="WEB-INF/conf/ibatis/CheckItem.xml" />
 </sqlMapConfig>

 

ClassDemo类

public class ClassDemo extends PropertyPlaceholderConfigurer {
 private static Logger logger = Logger.getLogger(ClassDemo.class);

  protected void processProperties(ConfigurableListableBeanFactory beanFactory, Properties props)
   throws BeansException {

  logger.info("Loading database connection infomation.");
  String userName = props.getProperty("jdbc.username");
  String password = props.getProperty("jdbc.password");
  String address = props.getProperty("jdbc.address");
  if (userName != null && password != null && address != null) {
   props.setProperty("jdbc.username", ABC.getInstance_128().decryptStr(userName));----->ABC是用来加密的类
   props.setProperty("jdbc.password", ABC.getInstance_128().decryptStr(password));
   props.setProperty("jdbc.address", address);
  } else {
   logger.info("Lost username|password|address in properties File!!.");
   throw new NotReadablePropertyException(DbPropertyDecrypt.class, "");
  }
  logger.info("Database connection info:  URL: " + address + " Username: " + userName + " Password: " + password);
  super.processProperties(beanFactory, props);
 }
}

原创粉丝点击