@Transactional
은 메소드, 클래스에 붙힐 수 있다.@Transactional
을 적용해 트랜잭션 AOP를 사용하기 위해서는 스프링 컨테이너가 필요하다.@Transactional
이 적용된 클래스를 테스트할 때도 @SpringBootTest
를 적용해 스프링 컨테이너를 사용해 테스트해야 한다.@TestConfiguration
@Transactional
, XML 설정 등스프링 부트는 application.properties
를 참고해 데이터 소스와 트랜잭션 매니저를 자동으로 등록한다.
데이터 소스 자동 등록
application.properties
의 spring.datasource.url
속성이 없으면 내장 DB를 생성한다.트랜잭션 매니저 자동 등록
PlatformTransactionManager
구현체를 등록한다.