不使用XML的Spring AOP

6
我正在尝试不使用任何XML来设置Spring AOP,想知道如何以这种方式启用自动代理。
定义AutoProxyCreator-bean可以工作,但没有更简单的方法吗?
这是我的@Configuration代码:
@Configuration
public class Context {
    @Bean
    public AnnotationAwareAspectJAutoProxyCreator annotationAwareAspectJAutoProxyCreator() {
        return new AnnotationAwareAspectJAutoProxyCreator();
    };
    ...
}

所有其他的bean都会通过AnnotationConfigApplicationContext进行扫描。
2个回答

7

Spring 3.0.x没有提供简单的方法来替换XML命名空间扩展(例如<aop:aspectj-autoproxy>)在@Configuration中。

即将推出的Spring 3.1将支持特殊注解,如@EnableAspectJAutoProxy用于此目的。


谢谢,所以我猜我的解决方案暂时还可以 ;) - CKuck

0
最终我找到了一种美观的方式来添加AnnotationAwareAspectJAutoProxyCreator:
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(AnnotationAwareAspectJAutoProxyCreator.class);
context.scan("com.myDomain");
context.refresh();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接