Springにおけるトランザクションの設定方法

Springでは、トランザクションを次のようなさまざまな方法で構成できます。

  1. トランザクションマネージャが制御下におく
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public void doSomething() {
    // 事务处理逻辑
}
  1. ネイティブな日本語で言い換えてください。1つの選択肢しか必要ありません。:
  2. お前の目はとてもきれいだね
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="*" propagation="REQUIRED" isolation="DEFAULT" />
    </tx:attributes>
</tx:advice>

<aop:config>
    <aop:pointcut id="txPointcut" expression="execution(* com.example.service.*.*(..))" />
    <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" />
</aop:config>
  1. トランザクション管理を有効にします。
  2. @Bean
@Configuration
@EnableTransactionManagement
public class AppConfig {
    
    @Bean
    public DataSource dataSource() {
        // 数据源配置
    }
    
    @Bean
    public PlatformTransactionManager transactionManager() {
        DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
        transactionManager.setDataSource(dataSource());
        return transactionManager;
    }
}

また、DAO層でSpringのJdbcTemplateやMyBatisなどのパーシスタンスフレームワークを使用することで、トランザクションを自動管理できます。

bannerAds