java注解接收配置值_AOP中获取自定义注解的参数值

本文介绍如何使用Spring AOP结合自定义注解实现业务逻辑增强,并详细讲解了如何正确获取自定义注解中的参数值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.5、测试

2.5、测试

三、总结

一、利用注解实现AOP的基本流程

如果特别熟悉自定义注解实现AOP,可以直接转到第二部分:跳转。

Spring中,可以通过自定义注解的方式来实现AOP,比较简单,流程如下:

1.1、创建一个注解,用来注解切点(pointcut)

1.2、创建一个service,使用上面定义的注解来指定切点

这里为了节约篇幅,就不创建service接口,再创建serviceImpl来实现接口了,直接写在service中:

1.3、创建Aspect,增加业务逻辑

1.4、创建Spring配置类

主要做的是:指定包扫描路径

1.5、测试

输出:

二、获取自定义注解的参数

2.1、创建带属性的自定义注解

要获取自定义注解参数,就需要在自定义注解中增加几个属性,下面自定义的TestAnnotation中有两个属性:value和description。

2.2、创建service使用带属性的自定义注解

service中有两个方法,分别使用了自定义注解:

2.3、创建Aspect的错误示例

在写博客之前,我也搜过相关的博客,但是发现很多博客中写的都是利用@Around来实现获取注解信息,但是我如果需要在@Before中,@After中获取又怎么办呢?虽然可以通过以下骚操作,通过@Around来模拟@Before和@After,但是还是感觉不好。

下面还是使用@Before来实现的。

上面的代码看似没有问题,one()方法中接收一个TestAnnotation的参数,以为能够获取到切点方法的注解信息,但是,IDE会告诉你如下错误:

75906e965a7e0c53103192e1ea15c4b7.png

2.4、创建Aspect的正确做法

划重点:

2.5、测试

Spring的配置类不用更改,测试代码如下:

输出:

三、总结

要想是获取AOP中自定义注解的参数值,主要就一点:

367f6603a3d04dff389c016b3cac6481.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值