【问题标题】:Spring AOP without XML没有 XML 的 Spring AOP
【发布时间】:2011-12-12 11:25:55
【问题描述】:

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

定义一个 AutoProxyCreator-bean 是可行的,但没有更简单的方法吗?

这就是我的@Configuration 的样子:

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

AnnotationConfigApplicationContext 扫描所有其他 bean。

【问题讨论】:

    标签: java xml spring aop


    【解决方案1】:

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

    即将推出的 Spring 3.1 将支持为此目的的特殊注解,例如 @EnableAspectJAutoProxy

    【讨论】:

    • 谢谢,所以我想我的解决方案暂时还可以;)
    【解决方案2】:

    最后我找到了一种美观的方式来添加AnnotationAwareAspectJAutoProxyCreator

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 2016-04-04
      相关资源
      最近更新 更多