发生在“注解”@的那些事儿
注解:
自定義注解:
注解和類,接口一樣,屬于一種數(shù)據(jù)類型
注解可以放在類,方法,屬性上面
注解可以有屬性,也可以沒有屬性
注解有作用范圍
(
源碼期間(String):@Author,@Since,@Test(timeout=1000),@See
作用:使用命令javadoc將當(dāng)期的源碼生成幫助文件,可以識(shí)別String類上的相關(guān)注解
編譯期間():@Override,@Deprecated(聲明以下方法是過時(shí)的方法,不建議使用),@Suppresswarning(抑制編譯器發(fā)出警告信息)
作用:告訴編譯器的部分信息
運(yùn)行期間(@Test(timeout=1000)):
作用:當(dāng)我們?cè)诋?dāng)前代碼上以Junit方式運(yùn)行的時(shí)候,Junit會(huì)運(yùn)行方法上包含@Test注解的方法。
)
注解的作用:
1. 編譯檢查;
2. 配置
3. 生成幫助文檔
?
JDK出現(xiàn)的三種注解:
@Suppresswarning,@Override,@Deprecated
?
注解的作用:配置的作用(servlet里面的url-pattern的兩種方式:web.xml和@WebService)
配置:開發(fā)的時(shí)候部分信息不希望被寫死在程序中,例如數(shù)據(jù)庫的用戶名和密碼,可以將用戶名和密碼存儲(chǔ)在.xml(層次結(jié)構(gòu)比較大),.properties(鍵值對(duì)的形式)文件中,利用程序來讀取文件中的內(nèi)容。
?
模擬Junit:
1. 自定義注解:說明白作用域和作用對(duì)象,添加元注解@Target,@Rentention
2. 定義UserDao:創(chuàng)建四個(gè)方法,三個(gè)加注解
3. 定義MyJunit,模擬JUnit
4.通過反射來讀取字節(jié)碼文件來進(jìn)行處理:
4.1 將UserDao從硬盤加載到內(nèi)存
4.2 獲取字節(jié)碼文件上的所有方法
4.3 遍歷方法,判斷每個(gè)方法上是否添加了@MyTest注解
4.4 如果當(dāng)前方法設(shè)置了@MyTest注解,執(zhí)行該方法
?
自定義注解:
?
使用自定義注解:
?
編寫main函數(shù):
源碼參考:https://github.com/linhj-james/DesignPattern/tree/master/AnnotationTest
?
?
了解一下元注解:
元注解的作用是負(fù)責(zé)注解其他注解。Java5.0定義了四個(gè)標(biāo)準(zhǔn)的meta-Annotation類型,他們被用來提供隊(duì)其他Annotation類型作說明,主要有以下四種類型:
@Target
@Retention
@Documented
@Inherited
?
?
?
?
?
?
?
?
使用動(dòng)態(tài)代理解決網(wǎng)站字符集編碼問題:(之前通過攔截器)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的发生在“注解”@的那些事儿的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java并发编程实战————Semaph
- 下一篇: 异常解析————Parameter me