開發過程中常見的註解

@Retention註解  用於表示註解的生命週期
1、RetentionPolicy.SOURCE:註解只保留在源文件,當Java文件編譯成class文件的時候,註解被遺棄;
2、RetentionPolicy.CLASS:註解被保留到class文件,但jvm加載class文件時候被遺棄,這是默認的生命週期;
3、RetentionPolicy.RUNTIME:註解不僅被保存到class文件中,jvm加載class文件之後,仍然存在;
這3個生命週期分別對應於:Java源文件(.java文件) ---> .class文件 ---> 內存中的字節碼

@Target註解   元註解
@Target({ElementType.TYPE})  註解在接口,枚舉,和類上,註解到方法上會報錯;

@Constraint 掃描註解
多用於驗證
@Constraint(validatedBy = ScanValidator.class)
ScanValidator implements ConstraintValidator
實現ConstraintValidator接口

@component註解
@component (把普通pojo實例化到spring容器中,相當於配置文件中的<bean id="" class=""/>)
泛指各種組件,就是說當我們的類不屬於各種歸類的時候(不屬於@Controller、@Services等的時候),我們就可以使用@Component來標註這個類。

@controller 控制器(注入服務)
用於標註控制層,相當於struts中的action層

@service 服務(注入dao)
用於標註服務層,主要用來進行業務的邏輯處理

@repository(實現dao訪問)
用於標註數據訪問層,也可以說用於標註數據訪問組件,即DAO組件.

@Aspect:作用是把當前類標識爲一個切面供容器讀取
Advice,通知增強,主要包括五個註解Before,After,AfterReturning,AfterThrowing,Around
   @Before  在切點方法之前執行
   @After  在切點方法之後執行
   @AfterReturning 切點方法返回後執行
   @AfterThrowing 切點方法拋異常執行

@Around 屬於環繞增強,能控制切點執行前,執行後,,用這個註解後,程序拋異常,會影響@AfterThrowing這個註解。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章