7.在项目的WEB-INF 下 新建配置文件 SqlMapConfig.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> <sqlMap resource="com/dbke/hrms/ibatis/map/employee.xml"/> <sqlMap resource="com/dbke/hrms/ibatis/map/dept.xml"/> </sqlMapConfig>
到此,Ibatis配置的差不多了.
二.配置Spring:
1.拷入 commons-collections-3.2.jar commons-dbcp-1.2.2.jar commons-logging-1.0.4.jar commons-pool-1.4.jar log4j-1.2.14.jar retrotranslator-runtime-1.2.0.jar retrotranslator-transformer-1.2.0.jar spring.jar 到WEB-INF/lib
2.在WEB-INF目录下建立配置文档 jdbc.properties :
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hrms_database?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=admin
3.在WEB-INF目录下建立配置文档 applicationContext.xml :
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd "> <import resource="dataAccessContext.xml"/> <import resource="SqlMapDaoConfig.xml"/> <import resource="serviceContext.xml"/> <import resource="Struts2ActionConfig.xml"/> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>WEB-INF\\jdbc.properties</value> </list> </property> </bean> <!--以下代码是使用AOP方式对事务的管理 --> <!-- <aop:config> <aop:advisor pointcut="execution(* com.dbke.hrms.struts.action.*.*(..))" advice-ref="txAdvice"/> </aop:config> <tx:advice id="txAdvice"> <tx:attributes> <tx:method name="execute*"/> <tx:method name="insert*"/> <tx:method name="update*"/> <tx:method name="*" read-only="true"/> </tx:attributes> </tx:advice> --> <!-- ===================实现外观类对业务逻辑组件的注入======================= --> <bean id="hrmsFacade" parent="baseTransactionProxy"> <property name="target"> <bean class="com.dbke.hrms.spring.logic.HRMSFacadeImpl"> <property name="deptService" ref="deptService"/> </bean> </property> </bean> </beans>
4. 在WEB-INF目录下建立配置文档 dataAccessContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- spring 的事务处理代理配置 --> <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true"> <!-- 它有个属性叫“事务经理”,下面会声明的 --> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <!--这里就声明了具体的事务 --> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="del*">PROPAGATION_REQUIRED</prop> <prop key="modify*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <!-- spring 的数据源的配置 --> <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> <!-- spring 的事务处理类配置 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- spring的ibatis 配制 --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="WEB-INF/SqlMapConfig.xml"/> <property name="dataSource" ref="dataSource"/> </bean> </beans>
5.在WEB-INF目录下创建配置文档SqlMapDaoConfig.xml :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- =====================下面是IBATIS的DAO的配置============================= --> <bean id="employeeDao" class="com.dbke.hrms.ibatis.dao.impl.TEmployeeDaoImpl"> <property name="sqlMapClient" ref="sqlMapClient"/> </bean> <bean id="deptDao" class="com.dbke.hrms.ibatis.dao.impl.TDeptDaoImpl"> <property name="sqlMapClient" ref="sqlMapClient"/> </bean> </beans>
6.在WEB-INF目录下创建配置文档 serviceContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- =========以下是对系统业务逻辑层的注入========================= -->
<bean id="deptService" class="com.dbke.hrms.struts.service.impl.DeptServiceImpl">
<property name="deptDao" ref="deptDao"/>
</bean>
</beans>