关于trsaction(事物)的使用

来源:互联网 发布:网络小说完本排行榜 编辑:程序博客网 时间:2024/05/18 19:42

<!-- 定义一个数据源 -->
<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" />




在配置文件中,默认情况下,<tx:annotation-driven>会自动使用名称为transactionManager的事务管理器。所以,如果定义的事务管理器名称为transactionManager,那么就可以直接使用<tx:annotation-driven/>。如下:

?
1
2
3
4
5
6
7
8
<!-- 配置事务管理器 -->
<beanid="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
    p:dataSource-ref="dataSource">
</bean>
 
<!-- enables scanning for @Transactional annotations -->
<tx:annotation-driven/>

0 0
原创粉丝点击