「Spring Boot」AOP(アスペクト指向プログラミング)を実装する

1.依存関係ライブラリの追加
ファイル:pom.xml
下記を追加

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

2.@Aspectアノテーションを使用する
After:Join Pointの後で実行されるAdvice。正常終了、例外に関わらず実行される。

使用例

package com.arkgame.study;

import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

//アノテーション@Aspect
@Aspect
@Component
public class AopTest {

      //Join Pointの後で実行される
      @After("within(com.arkgame.study.SampleController)")
      public void getMsg() {
            System.out.println("Aspect Oriented Programmingテストサンプル");

      }

}

3.コントローラのクラス

package com.arkgame.study;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

//アノテーションRestController
@RestController
public class SampleController {

      //アノテーションGetMapping
      @GetMapping("/hello")
      public String getMsg() {
            return "study skill";
      }

}

4.application.properties

server.port =8788

5.実行結果
http://127.0.0.1:8788/hello
結果 study skill

コンソールに下記を表示
Aspect Oriented Programmingテストサンプル

Spring Boot

Posted by arkgame