따라서 특정 트랜잭션 매니저를 디폴트로 지정하고자 한다면 Java Config 클래스가
TransactionManagementConfigurer 인터페이스를 구현하고
annotationDrivenTransactionManager
를 구현해서 트랜잭션 매니저를 리턴해주면 해당 매니저를 사용하게 된다.
@Configuration
public class TransactionManageConfig implements TransactionManagementConfigurer {
// 직접 Bean으로 지정
@Bean
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
return new DataSourceTransactionManager(dataSource());
}
// 다른 빈을 리턴
@Bean
public PlatformTransactionManager txManager() {
return new DataSourceTransactionManager(dataSource());
}
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
return txManager(); // reference the existing @Bean method above
}
}