编程语言
首页 > 编程语言> > java-在Spring AOP的服务中注入服务的相同实例的最佳方法是什么

java-在Spring AOP的服务中注入服务的相同实例的最佳方法是什么

作者:互联网

我是一个ServiceImpl,带有Spring的@Service构造型注释,并且其中有两个方法,每个方法都带有由Spring拦截的自定义注释.

@Service    
public class ServiceImpl implements Service{

       @CustomAnnotation
       public void method1(){
       ...
       }

       @AnotherCustomAnnotation
       public void method2(){
        this.method1();   
        ...
       }
    }
}

现在Spring使用基于代理的AOP方法,因此当我使用this.method1()@CustomAnnotation的拦截器将无法拦截此调用时,我们曾经将此服务注入另一个FactoryClass中,因此我们能够获得代理实例-

  @AnotherCustomAnnotation
    public void method2(){
        someFactory.getService().method1();   
        ...
    }

我现在正在使用Spring 3.0.x,这是获取代理实例的最佳方法吗?

解决方法:

另一种选择是使用AspectJ和@Configurable.
春天似乎正朝着这些日子发展(有利).

如果您使用Spring 3,我会考虑一下它,因为它比基于代理的aop更快(性能)并且更灵活.

标签:spring-aop,aop,spring,java
来源: https://codeday.me/bug/20191102/1994840.html