一、在Spring中,在applicationContext.xml中读取properties文件 <!--配置数据库连接池--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="dataSource.properties" /> </bean> 二、配置文件propertise,连接数据库的写法 #oracle数据库 #jdbc.driverClassName=oracle.jdbc.driver.OracleDriver #jdbc.url=jdbc:oracle:thin:@192.168.2.233:1521/CIIMS #jdbc.username=ciims #jdbc.password=ciims #hibernate.dialect=org.hibernate.dialect.OracleDialect #mysql数据库 version database setting jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/bookManageruseUnicode=true&characterEncoding=UTF-8 jdbc.username=root jdbc.password=123 hibernate.dialect=org.hibernate.dialect.MySQLDialect 三、ibatis配置文件 <!-- ************************************************************************--> <!-- //////////////////////////加载配置文件 //////////////////////////////////--> <!-- ************************************************************************--> <bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:init.properties</value> </property> </bean> <!-- ************************************************************************--> <!-- ////////////////////////dbcp数据库连接池配置///////////////////////////////--> <!-- ************************************************************************--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}"> </property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> <property name="maxActive" value="100"></property> <property name="maxIdle" value="30"></property> <property name="maxWait" value="1000"></property> <property name="defaultAutoCommit" value="false"></property> <property name="removeAbandoned" value="true"></property> <property name="removeAbandonedTimeout" value="60"></property> <property name="logAbandoned" value="true"></property> </bean> <!-- sql map client 配置 --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="ibatis-sql-map-config.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <!-- ************************************************************************--> <!-- //////////////////////ibatis事务配置文件///////////////////////////////--> <!-- ************************************************************************--> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <aop:aspectj-autoproxy proxy-target-class="true" /> <tx:annotation-driven transaction-manager="txManager" /> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="find*" read-only="true" /> <tx:method name="*" /> </tx:attributes> </tx:advice> <aop:config proxy-target-class="true"> <aop:advisor pointcut="execution(* training..*Service*.*(..))" advice-ref="txAdvice" /> </aop:config> <!-- ************************************************************************--> <!-- //////////////////////ibatis事务代理配置///////////////////////////////--> <!-- ************************************************************************--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="transactionAttributes"> <props> <prop key="create*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <!-- ************************************************************************--> <!-- //////////////////////dao配置///////////////////////////////////////////--> <!-- ************************************************************************--> <bean id="personDao" class="org.lr.ibatis.dao.imp.PersonDaoImp"> <property name="sqlMapClient"> <ref bean="sqlMapClient" /> </property> </bean> <!-- ************************************************************************--> <!-- ////////////////////////////////SERVICE代理配置//////////////////////////--> <!-- ************************************************************************--> <bean id="personServiceTarget" class="org.lr.ibatis.service.imp.PersonServiceImp"> <property name="personDao" ref="personDao"></property> </bean> <!-- ************************************************************************--> <!-- ///////////////////////////SERVICE配置///////////////////////////////////--> <!-- ************************************************************************--> <bean id="personService" parent="txProxyTemplate"> <property name="target" ref="personServiceTarget"></property> </bean> <!-- ************************************************************************--> <!-- ///////////////////////////////结束/////////////////////////////////////--> <!-- ************************************************************************--> </beans>