spring boot使用自定義注解做AOP的案例代碼
1、創(chuàng)建一個自定注解,接收一個傳值type
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface EchoStatus { String type(); }
2、創(chuàng)建一個切面類,綁定一些切面方法,比如before,after…
@Aspect @Component @Slf4j public class EchoStatusAspect { @Pointcut("@annotation(com.gbs.mgt.annotation.EchoStatus)") public void customPointcut() { } @Before("customPointcut()") public void beforeAdvice(JoinPoint joinPoint) { Object[] args = joinPoint.getArgs(); System.out.println("Before method execution: " + joinPoint.getSignature().getName()+"入?yún)ⅲ?+ Arrays.asList(args)); } @After(value = "customPointcut()") public void afterAdvice(JoinPoint joinPoint) { System.out.println("After method execution: " + joinPoint.getSignature().getName()); } @AfterReturning(value = "customPointcut()", returning = "result") public void afterReturningAdvice(JoinPoint joinPoint, Object result) { System.out.println("After method execution: " + joinPoint.getSignature().getName()+"結(jié)果:"+result); } }
@EchoStatus (type = "無所謂") public String index(){ return "hello word"; }
到此這篇關(guān)于spring boot使用自定義注解做AOP的文章就介紹到這了,更多相關(guān)spring boot使用自定義注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實(shí)現(xiàn)PPT轉(zhuǎn)化為PDF
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)PPT轉(zhuǎn)化為PDF的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06關(guān)于SpringBoot簡介、官網(wǎng)構(gòu)建、快速啟動的問題
SpringBoot 是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計目的是用來簡化Spring應(yīng)用的初始搭建以及開發(fā)過程,這篇文章主要介紹了SpringBoot簡介、官網(wǎng)構(gòu)建、快速啟動,需要的朋友可以參考下2022-07-07java Disruptor構(gòu)建高性能內(nèi)存隊(duì)列使用詳解
這篇文章主要為大家介紹了java Disruptor構(gòu)建高性能內(nèi)存隊(duì)列使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12java理論基礎(chǔ)Stream?reduce實(shí)現(xiàn)集合元素歸約
這篇文章主要為大家介紹了java理論基礎(chǔ)Stream?reduce實(shí)現(xiàn)集合元素歸約示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)
這篇文章主要介紹了徹底解決IDEA中SpringBoot熱部署無效的問題,本文給大家?guī)韱栴}原因分析通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-09-09一文帶你理解@RefreshScope注解實(shí)現(xiàn)動態(tài)刷新原理
RefeshScope這個注解想必大家都用過,在微服務(wù)配置中心的場景下經(jīng)常出現(xiàn),他可以用來刷新Bean中的屬性配置,那大家對他的實(shí)現(xiàn)原理了解嗎,它為什么可以做到動態(tài)刷新呢,所以本文小編將給大家詳細(xì)介紹@RefreshScope注解實(shí)現(xiàn)動態(tài)刷新原理2023-07-07