Spring与Hibernate调整的配置

Spring与Hibernate整合的配置

最近一直在学习ssh开发,今天在进行spring和hibernate整合的事务配置时出现了tx命名空间找不到的问题,原来在spring中配置hibernate的事务处理时需要引入tx命名空间,特提供一个spring的配置文件的例子

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.0.xsd
						http://www.springframework.org/schema/tx
						http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
"> 



	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation"
			value="classpath:hibernate.cfg.xml">
		</property>
	</bean>
	
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref local="sessionFactory"/>
		</property>
	</bean>
	
	<!-- 事务的配置
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="add*" propagation="REQUIRED"/>
			<tx:method name="delete*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="*" read-only="true"/>
		</tx:attributes>
	</tx:advice>
	

	<aop:config>
		<aop:pointcut id="targetMethod" expression="execution(* org.spring.dao.*.*(..))"/>
		<aop:advisor advice-ref="txAdvice" pointcut-ref="targetMethod"/>
	</aop:config>
	
	 -->
	 
	 <!-- DAO的配置示例
	 <bean id="userDao" class="org.xxx.dao.UserDao">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	 
	  -->
		
</beans>