Spring AOP без XML

Я пытаюсь настроить Spring AOP без какого-либо XML и удивляюсь, как включить автоматическое проксирование таким образом.

Определение компонента AutoProxyCreator работает, но разве нет более простого способа?

Вот как выглядит моя @Configuration:

@Configuration
public class Context {
    @Bean
    public AnnotationAwareAspectJAutoProxyCreator annotationAwareAspectJAutoProxyCreator() {
        return new AnnotationAwareAspectJAutoProxyCreator();
    };
    ...
}

Все остальные бобы сканируются AnnotationConfigApplicationContext,

2 ответа

Решение

Spring 3.0.x не предоставляет простых способов замены расширений пространства имен XML (таких как <aop:aspectj-autoproxy>) в @Configuration,

Предстоящая весна 3.1 будет поддерживать специальные аннотации для этой цели, такие как @EnableAspectJAutoProxy,

Наконец я нашел эстетически приятный способ добавить AnnotationAwareAspectJAutoProxyCreator:

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(AnnotationAwareAspectJAutoProxyCreator.class);
context.scan("com.myDomain");
context.refresh();
Другие вопросы по тегам