Spring事务配置方式一
Spring事务配置方式一
每个Bean都有一个代理
<?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:context="http://www.springframework.org/schema/context"
??? xmlns:aop="http://www.springframework.org/schema/aop"
??? xsi:schemaLocation="http://www.springframework.org/schema/beans
?????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
?????????? http://www.springframework.org/schema/context
?????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
?????????? http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
??? <bean id="sessionFactory"?
??????????? class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">?
??????? <property name="configLocation" value="classpath:hibernate.cfg.xml"?/>?
??????? <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"?/>
??? </bean>?
??? <!-- 定义事务管理器(声明式的事务) -->?
??? <bean id="transactionManager"
??????? class="org.springframework.orm.hibernate3.HibernateTransactionManager">
??????? <property name="sessionFactory" ref="sessionFactory"?/>
??? </bean>
???
??? <!-- 配置DAO -->
??? <bean id="userDaoTarget" class="com.bluesky.spring.dao.UserDaoImpl">
??????? <property name="sessionFactory" ref="sessionFactory"?/>
??? </bean>
???
??? <bean id="userDao"?
??????? class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">?
?????????? <!-- 配置事务管理器 -->?
?????????? <property name="transactionManager" ref="transactionManager"?/>????
??????? <property name="target" ref="userDaoTarget"?/>?
???????? <property name="proxyInterfaces" value="com.bluesky.spring.dao.GeneratorDao"?/>
??????? <!-- 配置事务属性 -->?
??????? <property name="transactionAttributes">?
??????????? <props>?
??????????????? <prop key="*">PROPAGATION_REQUIRED</prop>
??????????? </props>?
??????? </property>?
??? </bean>?
</beans>