Spring 之注解事务 @Transactional - Go语言中文社区

Spring 之注解事务 @Transactional


先让我们看代码吧!
以下代码为在“Spring3事务管理——基于tx/aop命名空间的配置”基础上修改。首先修改applicationContext.xml如下:

?



<!-- 定义一个数据源 -->
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/spring_test" />
        <property name="username" value="root" />
        <property name="password" value="root" />
</bean>
 
<!-- 定义JdbcTemplate的Bean -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
        p:dataSource-ref="dataSource">
</bean>
 
<!-- 配置事务管理器 -->
<bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
        p:dataSource-ref="dataSource">
</bean>
 
<!-- enables scanning for @Transactional annotations -->
<tx:annotation-driven transaction-manager="txManager" />
 
<!-- 在该Bean的代码中标注@Transactional可以被事务管理器注入 -->
<bean id="userScore"
        class="net.hingyi.springDemo.transaction.service.UserScoreServiceImpl"
        p:userScoreRepository-ref="userScoreRepository_jdbc" />
 
<bean id="userScoreRepository_jdbc"
        class="net.hingyi.springDemo.transaction.repository.UserScoreRepositoryImpl"
        p:jdbcTemplate-ref="jdbcTemplate" />



实现类代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Transactional
publicclass UserScoreRepositoryImpl implementsUserScoreRepository {
 
    privateJdbcTemplate jdbcTemplate;
 
    @Override
    publicUserScore getUserSocore(String userNo) {
 
    finalUserScore us = newUserScore();
    ...
    returnus;
    }
    ...
 
}

OK了!以上就实现了简单的事务管理了。现在再稍微了解下@Transactional。
在配置文件中,默认情况下,<tx:annotation-driven>会自动使用名称为transactionManager的事务管理器。所以,如果定义的事务管理器名称为transactionManager,那么就可以直接使用<tx:annotation-driven/>。如下:

?
1
2
3
4
5
6
7
8
<!-- 配置事务管理器 -->
<beanid="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
     版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zheng0518/article/details/49206847
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-06 22:05:03
  • 阅读 ( 1305 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢