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를 적어준다.
그리고 실행하면 문제가 발생하지 않게 된다.