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를 적어준다.
그리고 실행하면 문제가 발생하지 않게 된다.
'IT수업 > SPRINGBOOT' 카테고리의 다른 글
IT 수업 22주차 (156) Thymeleaf (0) | 2024.05.20 |
---|---|
IT 수업 22주차 (155) RestController (0) | 2024.05.20 |
IT 수업 21주차 (153) SQL (0) | 2024.05.17 |
IT 수업 21주차 (152) 외래키 설정 (1) | 2024.05.16 |
IT 수업 21주차 (151) JPA 쿼리 메소드 (0) | 2024.05.16 |