Spring自定义注解(基于SpringAOP实现)

SpringBoot自定义注解(基于SpringAOP实现)

在网上看到好多关于此话题的博客要么资料不全,要么过于复杂,导致新手很难直接的理解!所以自己上手整理一个简单的demo放于git,有想用的在博客末尾直接点击下载即可直接运行使用!

一、JoinPoint的用法

JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,可以获取到封装了该方法信息的JoinPoint对象!

方法名作用
getSignature();获取封装了署名信息的对象,在该对象中可以获取到目标方法名,所属类的Class等信息
getArgs();获取传入目标方法的参数对象
getTarget();获取被代理的对象
getThis();获取代理对象

二、ProceedingJoinPoint对象

ProceedingJoinPoint对象是JoinPoint的子接口,该对象只用在@Around的切面方法中使用

Object proceed() throws Throwable //执行目标方法

Object proceed(Object[] var1) throws Throwable //传入的新的参数去执行目标方法

三、实现Demo简述

1、首先需要引入Maven依赖

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

2、定义一个自己使用的注解(注意定义类型)
在这里插入图片描述
简单说下其中注解的含义:

名称含义
@Documented指明修饰的注解
@Retention指明修饰的注解的生存周期,即会保留到哪个阶段
@Target指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里
具体的取值可以点进源码稍微看下就知道了很简单!

3、定义一个切面类
在这里插入图片描述
4、定义一个controller 供测试使用
在这里插入图片描述
完成上述步骤即可实现基于springAOP的自定义注解的demo!!!!

附上实现demo完整java代码Git地址!!!
地址(简单demo): https://gitee.com/zhangwu2020/springboot-annotation.git(克隆至本地后根据README.md提示即可运行!!)

地址(简单项目应用): https://gitee.com/zhangwu2020/springboot-annotation-demo.git(克隆至本地后根据README.md提示即可运行!!)

本篇完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值