2011-12-12 36 views
6

我想设置没有任何XML的Spring AOP,并想知道如何以这种方式启用自动代理。没有XML的Spring AOP

定义一个AutoProxyCreator-bean的工作,但没有一个更简单的方法吗?

这是我@Configuration是什么样子:

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

所有其他豆类由AnnotationConfigApplicationContext扫描英寸

回答

7

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

即将到来的Spring 3.1将支持用于此目的的特殊注释,例如@EnableAspectJAutoProxy

+0

谢谢你,所以我想我的解决方案是确定暂且;) – CKuck

0

最后,我发现了一个美观的方式来添加AnnotationAwareAspectJAutoProxyCreator

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); 
context.register(AnnotationAwareAspectJAutoProxyCreator.class); 
context.scan("com.myDomain"); 
context.refresh();