SpringBoot自定义注解简单Demo

 

        网上看到了很多基于Aop的自定义注解,但是感觉说法过于复杂,导致新手很难直接的理解。其实一个自定义注解的实现只需要3个类,一个声明注解,一个注解的具体实现,一个使用注解的实例即可。

工程如下图所示。

SpringBoot自定义注解简单Demo_第1张图片

首先需要引入Maven依赖

 

SpringBoot自定义注解简单Demo_第2张图片

其次,定义一个自己使用的注解。

 

SpringBoot自定义注解简单Demo_第3张图片

然后注解的具体工作内容

package com.mu.aopdemo;

import org.aspectj.lang.ProceedingJoinPoint;

import org.aspectj.lang.annotation.*;

import org.springframework.stereotype.Component;

/**

* 功能:注解类的实现

* authorize: lijianwen

* Date: 2018/6/5 14:20

*/

@Component

@Aspect

public class AspectImpl {

@Pointcut("@annotation(com.mu.aopdemo.Mu)")

private void cut(){

System.out.println("3");   }

// 开始环绕

    @Around("cut()")

public void around(ProceedingJoinPoint joinPoint)throws Throwable{

System.out.println("1");

try{

joinPoint.proceed();}
catch (Exception e){

e.printStackTrace();  }

System.out.println("4"); }

@Before("cut()")

public void before(){

System.out.println("2");  }

@After("cut()")

public void after(){

System.out.println("5"); }

}

最后,在实际应用中使用自定义注解。

 

SpringBoot自定义注解简单Demo_第4张图片

然后,启动项目。访问http://localhost:8080/test/do

可以看到控制台依次显示

 

分别是之前输出的数字执行顺序。

以上是一个最简单的自定义注解Demo。

你可能感兴趣的:(SpringBoot自定义注解简单Demo)