SpringBootでの例外のロールバックとトランザクションの使い方について教えてください。

Spring Bootの例外のロールバックとトランザクションの使用は、次の手順で実装できます。

  1. spring-boot-starter-data-jpaとspring-boot-starter-webの依存関係を追加します。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  1. アプリケーションのエントリークラスに@EnableTransactionManagementアノテーションを追加して、トランザクション管理を有効にします。
@SpringBootApplication
@EnableTransactionManagement
public class YourApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}
  1. @Transactionalアノテーションをメソッドで使用すると、例外が発生した場合は自動的にトランザクションがロールバックされる:
@Service
public class YourService {
    @Autowired
    private YourRepository yourRepository;

    @Transactional
    public void saveYourEntity(YourEntity entity) {
        yourRepository.save(entity);
    }
}
  1. テストメソッドに@Rollbackアノテーションを使用して、カスタム例外のロールバックを実装できます。指定した例外がスローされると、トランザクションはロールバックされます。
@SpringBootTest
@Transactional
public class YourServiceTest {
    @Autowired
    private YourService yourService;

    @Test
    @Rollback(value = true, rollbackFor = Exception.class)
    public void testSaveYourEntity() {
        // 测试代码
    }
}

上記の手順に従うことで、Spring Bootアプリケーションで例外のロールバックとトランザクションを使用することができます。

bannerAds