spring中如何实现声明式事务管理呢?

乔欣 Spring 发布时间:2023-07-12 23:06:36 阅读数:8566 1
下文笔者将通过示例的方式讲述声明式事务管理的操作方法分享,如下所示

声明式事务管理示例

使用@Transactional注解
  对service进行事务增强

@Transactional
public class Service(){
	@Autowired
	private Dao dao;

	public void insert(Entity e){
			dao.insert(e);
	}
}

配置信息

<tx:annotation-driven transaction-manager="transactionManager" />

transaction-manager属性默认为”transactionManager”
所以如果事务管理器的id为transactionManager
 则可以省略transaction-manager属性变为

<tx:annotation-driven/>

除transaction-manager属性外
还可用proxy-target-class属性
  来区别注入类使用的方式
  如果为true,则使用Cglib生成子类来代理业务类
  如果为false,则使用JDK动态代理的方式,基于接口对进行代理。

多个数据源的情况下
配置多个事务管理器

<bean id="ds1" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="${spring.datasource.url1}" />
        <property name="username" value="${spring.datasource.username}" />
        <property name="password" value="${spring.datasource.password}" />
    </bean>
    <bean id="ds2" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="${spring.datasource.url2}" />
        <property name="username" value="${spring.datasource.username}" />
        <property name="password" value="${spring.datasource.password}" />
    </bean>

  <bean id="tM1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
        <qualifier value="tm1"></qualifier>
    </bean>

      <bean id="tM2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
        <qualifier value="tm2"></qualifier>
    </bean>
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202307/7072.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者