IT수업/SPRINGBOOT

IT 수업 21주차 (154) 트랜잭션

워제하 2024. 5. 17. 15:41

05 프로젝트 복사해서 06_Tx 프로젝트를 만들어준다.

 

 

TxConfig.java에서 기본트랜잭션인 MYBATIS용 빈을 작성해준다.

@EnableTransactionManagement 는 트랜잭션관리용 에노테이션이다.

 

 

실습을 위해 트랜잭션 문제를 발생시켜본다.

 

 

@Transactional 은 jakarta가 아닌 springframework로 import해야한다.

 

 

 

ctrl+shift+t 눌러서 TxTestServiceTest.java를 만들어 준다.

 

 

그러면 어떤 트랜잭션을 사용할껀지에 대한 오류가 발생하게 된다.

 

그래서 오류를 해결하기 위해 TxConfig로 가서 트랜잭션의 구별을 위해 bean의 이름을 지정해주고 @EnableJpaRepositories 어노테이션을 추가해준다.

 

@EnableJpaRepositories는 JPA Repository 빈을 활성화하는 어노테이션이다.

 

 

그리고 TxTestServiceTest.java로 가서 어떤 트랜잭션을 쓸 건지 정하기 위해 transactionManager를 적어준다.

 

또 TxTestService.java로 가서 똑같이 어떤 트랜잭션을 쓸 건지 정하기 위해 transactionManager를 적어준다.

 

 

그리고 실행하면 문제가 발생하지 않게 된다.