java注解到底有什么用 Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?注解是用來(lái)描述Java類的,可以自定義注解,然后通過(guò)反射獲取注解執(zhí)行指定的動(dòng)作。舉個(gè)簡(jiǎn)單的例子這樣就可以通過(guò)反射來(lái)獲取到一些元信息了,相當(dāng)于配置和業(yè)務(wù)邏輯實(shí)現(xiàn)了分離。
Java中的注解到底是如何工作的?
注解是用來(lái)描述Java類的,可以自定義注解,然后通過(guò)反射獲取注解執(zhí)行指定的動(dòng)作。
舉個(gè)簡(jiǎn)單的例子
這樣就可以通過(guò)反射來(lái)獲取到一些元信息了,相當(dāng)于配置和業(yè)務(wù)邏輯實(shí)現(xiàn)了分離。
當(dāng)然這個(gè)自定義注解還需要依賴一些特定的注解,我們稱為元注解。一共有5種:
@Retention:存活的周期
RetentionPolicy.SOURCE
保留在源碼階段RetentionPolicy.CLASS
編譯RetentionPolicy,RUNTIME 運(yùn)行階段
@Documented 將注解中的元素包含到JavaDoc中
@Target 注解可以用到的地方 有類、方法、屬性等
@Inherited 繼承
@Repeatable 可重復(fù)
Java開(kāi)發(fā)中使用Spring框架帶來(lái)的好處是什么?
spring可以說(shuō)是在JAVA開(kāi)發(fā)者中最鼎鼎大名的框架了,很多人從來(lái)沒(méi)有看過(guò)jdk源碼,卻對(duì)spring中的一切津津樂(lè)道,可以說(shuō)spring從jdk中誕生,但是卻無(wú)限增加了JAVA的魅力!
spring誕生背景是什么?
以前的JAVA對(duì)象,無(wú)論是在方法中使用,或者注入都需要new出來(lái),由應(yīng)用程序或者直接說(shuō)開(kāi)發(fā)者中進(jìn)行管理,不僅會(huì)創(chuàng)建大量對(duì)象,還難屬于強(qiáng)耦合,spring憑借著IOC(控制反轉(zhuǎn))的理念將對(duì)象的創(chuàng)建與維護(hù)都使用spring容器來(lái)做,通過(guò)依賴注入實(shí)現(xiàn)對(duì)象的在運(yùn)行期的注入使用!
spring有什么好處?
除了上面說(shuō)到的控制反轉(zhuǎn),管理對(duì)象以外,spring還集成了諸多優(yōu)秀的功能?。?/p>
1,解耦:用對(duì)代碼的低侵入性消除了原本對(duì)象之間的強(qiáng)依賴關(guān)系!
2,spring aop:面向切面編程,可以讓我們把類似于日志輔助,安全驗(yàn)證,攔截等等這種非業(yè)務(wù)代碼抽象出來(lái),實(shí)現(xiàn)與業(yè)務(wù)代碼的解耦!
3,spring提供了方便的組件插拔,能讓開(kāi)發(fā)者快速的集成諸如緩存,數(shù)據(jù)庫(kù)連接,消息等更為豐富的組件!
4,spring支持事務(wù)處理,通過(guò)簡(jiǎn)單的注解就可以開(kāi)啟事務(wù)!
5,spring家族的springboot可以用來(lái)當(dāng)做微服務(wù)基礎(chǔ)架構(gòu),springcloud更是只需要很少的配置和代碼編寫便能獲得一個(gè)穩(wěn)定的服務(wù)架構(gòu)!
spring可以說(shuō)是好處多多,很多人把spring當(dāng)做JAVA圣經(jīng),不僅獲得良好的使用體驗(yàn),從spring源碼學(xué)到編程技巧,設(shè)計(jì)模式等!
關(guān)于spring,還有更多話要說(shuō),以后會(huì)逐步分享,敬請(qǐng)關(guān)注。。。
為啥國(guó)內(nèi)程序員寫的代碼也用英文注釋?
1.英語(yǔ)注釋表達(dá)含義比較確切
2.不存在亂碼問(wèn)題
3.不需要來(lái)回切換輸入法
4.國(guó)際化需求