`
sunxiang0918
  • 浏览: 45817 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring+Struts2+IBatis 项目整合(二)

    博客分类:
  • J2EE
阅读更多

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>
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics