您的位置:首页 > 编程语言 > Java开发

Spring配置事务

2017-01-04 16:30 441 查看
<?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL"></property>
<property name="username" value="SUNXUN"></property>
<property name="password" value="123"></property>
</bean>

<!--
还要单独配置一个jdbcTemplate这个<bean>,为了注入到DAOImpl中.
-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>

<bean id="newsDAOImpl" class="org.liky.dao.impl.NewsDAOImpl">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate" />
</property>
</bean>

<bean id="newsServiceImpl" class="org.liky.service.impl.NewsServiceImpl">
<property name="newsdao">
<ref bean="newsDAOImpl" />
</property>
</bean>

<!--
声明一个用来规范格式的<bean>
-->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>

<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<!--
配置事务处理的方法和方式
-->
<property name="transactionAttributes">
<props>
<!--
表示所有方法都要关闭连接,并进行事务处理.
PROPAGATION_REQUIRED:如果之前有事务,则将当前操作合并到之前的事务中,如果之前没有事务,则开始一个新的事务。
PROPAGATION_REQUIRED_NEW:无论之前是否有事务,都开始一个新的事务。
PROPAGATION_REQUIRED_NEVER:不使用事务处理,使用自动提交方式。
-->
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>

<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>*ServiceImpl</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>

</beans>


<?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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">

<!-- c3p0数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="jdbc:oracle:thin:@192.168.0.40:1521:ORCL" />
<property name="username" value="LS" />
<property name="password" value="LS" />
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="pathWayDmDaoImp" class="com.winning.dm.test.dao.PathWayDmDaoImp">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="pathWayDao" class="com.winning.dm.test.dao.PathWayDao">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="pathWayDaoImp" class="com.winning.dm.test.dao.PathWayDaoImp">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>

<bean id="pathWayService" class="com.winning.dm.test.service.PathWayService">
<property name="pathWayDmDaoImp" ref="pathWayDmDaoImp"></property>
<property name="pathWayDaoImp" ref="pathWayDaoImp"></property>
</bean>

<bean id="testSessionService" class="com.winning.dm.test.service.TestSessionService">
<property name="pathWayDao" ref="pathWayDao"></property>
</bean>
<!-- <context:annotation-config></context:annotation-config> <context:component-scan
base-package="com.winning"></context:component-scan> -->
<!-- 声明一个用来规范格式的<bean> -->
<!-- 声明一个用来规范格式的<bean> -->
<!-- 事务管理模块 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<aop:config>
<aop:pointcut id="defaultServicePointcut"
expression="execution(* dm.test.service.*SessionService.*(..))" />
<aop:advisor pointcut-ref="defaultServicePointcut"
advice-ref="defaultServiceAdvice" />
</aop:config>
<tx:advice id="defaultServiceAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*" rollback-for="Throwable" />
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>

</beans>


<!-- 配置声明式事务管理(采用注解的方式) -->

<bean class="org.springframework.orm.hibernate3.HibernateTransactionManager" id="txManager">

<property name="sessionFactory" ref="sessionFactory"/>

</bean>

<tx:annotation-driven transaction-manager="txManager"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: