문서의 이전 판입니다!
@Transactional
에서 트랜잭션 매니저를 지정하지 않아도 XML 기반은 기본으로 transactionManager
를 디폴트 트랜잭션 매니저로 지정하지만 Java Config를 사용할 때는 모든 PlatformTransactionManager 인스턴스를 찾아서 그 중에 하나를 매핑한다.annotationDrivenTransactionManager
를 구현해서 트랜잭션 매니저를 리턴해주면 해당 매니저를 사용하게 된다.@Configuration public class TransactionManageConfig implements TransactionManagementConfigurer { @Override public PlatformTransactionManager annotationDrivenTransactionManager() { return new SomePlatformTransactionManager(tma, tmb); } }
@Bean @Primary public ChainedTransactionManager transactionManager() { return new SomePlatformTransactionManager(); }