MethodInterceptor
를 MethodInterceptor
와 같은 방법으로 바인딩하고 싶습니다.Guice의 Module.configure()에서 이미 바인딩 된 인스턴스를 사용할 수 있습니까?
public class DataModule implements Module {
@Override
public void configure(Binder binder) {
MethodInterceptor transactionInterceptor = ...;
binder.bindInterceptor(Matchers.any(), Matchers.annotatedWith(Transactional.class), null);
}
@Provides
public DataSource dataSource() {
JdbcDataSource dataSource = new JdbcDataSource();
dataSource.setURL("jdbc:h2:test");
return dataSource;
}
@Provides
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
@Provides
public TransactionInterceptor transactionInterceptor(PlatformTransactionManager transactionManager) {
return new TransactionInterceptor(transactionManager, new AnnotationTransactionAttributeSource());
}
}
Guice의 도움을 받아 transactionInterceptor
를 구할 수있는 방법이 있습니까? 아니면 필요한 모든 객체를 생성해야합니까? 수동 요격 요원?