0

Spring 4 を使用して AspectJ のコンパイル時間の織り方をテストしています (機能するようになったら、プロジェクトで使用したいと考えています)。次のサービスクラスがあります。

@Service
public class HelloService {

    public String sayHello(){       
        return sayHello2();
    }

    public String sayHello2(){
        return "Hello from AOP2!";
    }
}

そして、これが私のAspectJのアドバイスです:

@Component
@Aspect
public class ExecutionTimeAdvice {

    @Around("execution(* com.senyume.aop.service..*(..))")
    public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {

        long startTime = System.nanoTime();
        Object retVal = pjp.proceed();
        long endTime = System.nanoTime();

        long duration = (endTime - startTime);

        logger.info("Method " + pjp.getSignature() + " took " + (duration/1000000.0) + " ms)");

        return retVal;
    }
}

Spring documentationに従って、AspectJ Compile time weaving を有効にしようとしています。私は注釈を使用しているので、このスレッドに記載されているアドバイスに従おうとしました。

アプリケーションを実行すると、sayHello2() に適用されているアドバイスが表示されません。私は何が欠けていますか?ここで何が間違っていますか?

github の完全なソース コード

4

1 に答える 1