自定義注解的使用場景,元旦加班寫SpringBoot自定義注解

 2023-10-06 阅读 26 评论 0

摘要:寫在前面 這個點我們公司的人走的已經差不多了,原因很簡單呀,明天元旦嘛,放假前可是不加班的,很nice,實習生的我,今天給大家分享一篇springboot自定義注解的技術文章。 自定義注解的使用場景、很牛逼的注解 開發過程中,想必

寫在前面

這個點我們公司的人走的已經差不多了,原因很簡單呀,明天元旦嘛,放假前可是不加班的,很nice,實習生的我,今天給大家分享一篇springboot自定義注解的技術文章。

自定義注解的使用場景、很牛逼的注解

開發過程中,想必大家都用過或聽過注解吧,加個注解萬事大吉,但是為什么這么厲害呢,底層葫蘆里到底裝的什么藥,今天我們就切開葫蘆看看瓢。

離不開的Java新特性

spring自定義注解,用springboot注解的時候,感覺,哇spring好厲害,殊不知,點進去看源碼,是JDK注解的功勞呀,首先看看,Component注解,上面三個都是JDK的注解,也就是元注解。@Indexed是啥呢,這個是索引的東西,暫不討論。

在這里插入圖片描述

令人好奇的東西

java自定義表單、我最初的時候,就這樣寫一個注解,他就能生效了嗎,哈哈哈,太天真了吧,其實還有一個牛逼的操作呢,該注解的作用,邏輯在哪寫呢,這個時候AOP思想可以善良登場了,我們可以通過一個切面的思想來解決。(聊點題外話,切面怎么實現的呢,答案是動態代理,那動態代理是怎么實現的呢,是通過JDK或CGLIB實現的,那問題來了,JDK和CGLIB又是怎么實現的呢,恕我直言,我也不知道。)

強大的AOP

面試的時候,經常問到AOP的問題,但是水水的我總是說,AOP定義一個切面可以實現日志的功能,天天都是這樣回答,我都有點不耐煩了,今天來點特殊的,還是日志,但是這次用注解實現。

自定義注解方法名,既然用注解實現AOP,那首先需要定義一個注解吧,怎么定義呢,模仿別人。
在這里插入圖片描述
注解定義好了,里面的參數簡單說一下,這里著重講解如何自定義注解。
lementType.METHOD這個意思是用到方法上的注解
RetentionPolicy.RUNTIME這個是運行時生效的
@Documented這個就是生成javadoc的東西了
注解定義好了,那接下來干什么呢,當然是讓該注解生效了,怎么生效呢,AOP可以出現了。
在這里插入圖片描述
里面的注釋這么多,我就不多bb了。
然后就可以測試了呀。是不是很簡單,我也覺得,難的東西都是別人實現好的。。。有能力,可以研究一下@Aspect的底層實現,或者是等我發布文章,我們一起探討,撤遠了,測一下吧。
在這里插入圖片描述
通過一個controller,只需要加一個@MyLog即可。
在這里插入圖片描述
可以清楚的看到,已經生效了,注解的神奇之處還有很多,這只是一個入門,今天的內容就到這里了,祝大家元旦快樂!我們下期再見~

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/122848.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息