C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

AOPが効かない

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■100891 / inTopicNo.1)  AOPが効かない
  
□投稿者/ ぼぼ (8回)-(2022/11/16(Wed) 09:42:20)

分類:[Java] 

こんにちは。
SpringBoot2.6.1、Java1.8で開発してます。
レガシーな質問ですが、任意のClass&Functionの前後に処理を割り込ませようとしています。
以下の様なソースでブレークポイントを張っても全く入って来ません。
Tomcat起動のWEBアプリですが、起動時にエラーを起こしているわけでもありません。

Before,Afterとポイントカット指定しているクラス(@Service等はダメ?)も何を指定しても入って来ず、どうしたらよいか途方に暮れてます。
アドバイス頂けると有難いです。

◆Java
@Component
@Aspect
public class TestAspect {
  private static final Log log = LogIdBasedLogger.getLog(TestAspect.class);

    @After("execution(* sample.RegisterController.register(..))")
    public void afterHandler(JoinPoint jp) {
      System.out.println("IN");
      log.debug(jp.getSignature().getDeclaringType().getSimpleName() + "クラスの" + jp.getSignature().getName() + "メソッドを終了します");
    }

    @Before("execution(* sample.RegisterController.register(..))")
    public void beforeHandler(){
      System.out.println("IN");
    }
}

◆pom.xml
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.8.6</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>1.8.6</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.6</version>
        </dependency>

引用返信 編集キー/
■100912 / inTopicNo.2)  Re[1]: AOPが効かない
□投稿者/ shu (1281回)-(2022/11/26(Sat) 07:23:23)
No100891 (ぼぼ さん) に返信

詳しくないのでリンク先の内容から推測した内容ですが、
試されているのはテスト実行時に自動で事前処理、事後処理される
ようにする為のものであり、通常実行時は自動実行されないと
思いますが認識はあっていますでしょうか?

https://qiita.com/tsukakei/items/b892409cf982f1951933
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ