java注解大全

編號 注解 所屬框架 作用
1 @Component Spring 添加在類上,標記當前類是組件類,可以通過參數(shù)配置Spring Bean名稱
2 @Controller Spring 添加在類上,標記當前類是控制器組件類,用法同@Component
3 @Service Spring 添加在類上,標記當前類是業(yè)務邏輯組件類,用法同@Component
4 @Repository Spring 添加在類上,標記當前類是數(shù)據(jù)訪問組件類,用法同@Component
5 @Configuration Spring 添加在配置類上,用于代替?zhèn)鹘y(tǒng)的xml配置文件, Spring會在啟動時自動加載帶有@Configuration注解的類
6 @ComponentScan Spring 添加在配置類上,開啟組件掃描。 如果沒有配置包名,則掃描當前配置類所在的包, 如果配置了包名,則掃描所配置的包及其子孫包
7 @Value Spring 添加在屬性上,或添加在被Spring調用的方法的參數(shù)上,用于讀取Environment中的屬性值,為對象的屬性或方法的參數(shù)注入值
8 @Autowired Spring 添加在屬性上,使得Spring自動裝配此屬性的值 添加在構造方法上,使得Spring自動調用此構造方法 添加在Setter方法上,使得Spring自動調用此方法
9 @Qualifier Spring 添加在屬性上,或添加在方法的參數(shù)上, 配合自動裝配機制,用于指定需要裝配的Spring Bean的名稱
10 @Resource Spring 此注解是javax包中的注解, 添加在屬性上,使得Spring自動裝配此屬性的值, 通常不推薦使用此注解
11 @Scope Spring 添加在組件類上,或添加在已經(jīng)添加了@Bean注解的方法上, 用于指定作用域,注解參數(shù)為singleton(默認)時為“單例”,注解參數(shù)為prototype時為“非單例”
13 @Aspect Spring 添加在切面類上,屬于AOP的注解 用于告訴Spring容器將該類識別為一個切面,它定義了切入點(Pointcut)和通知(Advice), 切入點定義了在應用程序中哪些方法或代碼塊應該被攔截和執(zhí)行額外的邏輯, 通知包括前置通知、返回通知、環(huán)繞通知、異常通知和最終通知
14 @Before Spring 前置通知,添加在切面類方法上, 在目標方法執(zhí)行之前執(zhí)行的通知
15 @After Spring 后置通知,添加在切面類方法上, 在目標方法最終執(zhí)行之后執(zhí)行的通知
16 @AfterReturning Spring 返回通知,添加在切面類方法上, 在目標方法正常返回之后執(zhí)行的通知
17 @AfterThrowing Spring 異常通知,添加在切面類方法上, 在目標方法拋出異常之后執(zhí)行的通知
18 @Around Spring 環(huán)繞通知,添加在切面類方法上, 將目標方法封裝起來,在目標方法調用之前和之后執(zhí)行自定義的行為,通常使用 try ... catch ... finally 包裹
19 @Mapper Mybatis 添加在Mapper接口上,用于標記此接口是Mybatis的Mapper接口
20 @MapperScan Mybatis 添加在配置類上,用于指定Mapper接口的根包,Mybatis將根據(jù)此根包執(zhí)行掃描,以找到各Mapper接口
21 @Select Mybatis 添加在Mapper接口的抽象方法上,可以通過此注解直接配置此抽象方法對應的SQL語句(不必將SQL語句配置在XML文件中),用于配置SELECT類的SQL語句,但是,非常不推薦這種做法
22 @Insert Mybatis 同上,用于配置INSERT類的SQL語句
23 @Update Mybatis 同上,用于配置UPDATE類的SQL語句
24 @Delete Mybatis 同上,用于配置DELETE類的SQL語句
25 @Param MyBatis 添加在接口方法參數(shù)前, 用于傳遞多個參數(shù)給SQL語句,在Mapper接口的方法中定義多個參數(shù)時,需要使用@Param注解來標識每個參數(shù)的名字,這樣MyBatis就可以將參數(shù)值綁定到SQL語句中對應的參數(shù)上
26 @SpringBootApplication Spring Boot 添加在類上,用于標記此類是Spring Boot的啟動類,每個Spring Boot項目應該只有1個類添加了此注解
27 @SpringBootTest Spring Boot 添加在類上,用于標記此類是加載Spring環(huán)境的測試類
28 @Test Spring Boot 添加在方法上,用于標記此方法是Spring環(huán)境的測試方法
29 @RequestMapping Spring MVC 添加在類上,也可以添加在處理請求的方法上, 通常用于配置請求路徑
30 @ResponseBody Spring MVC 添加在方法上,標記此方法是“響應正文”的, 添加在類上,標記此類中所有方法都是“響應正文”的
31 @RestController Spring MVC 添加在類上,標記此類是一個“響應正文”的控制器類
32 @GetMapping Spring MVC 添加在方法上,是將請求方式限制為GET的@RequestMapping
33 @PostMapping Spring MVC 添加在方法上,是將請求方式限制為POST的@RequestMapping
34 @DeleteMapping Spring MVC 添加在方法上,是將請求方式限制為DELETE的@RequestMapping
35 @PutMapping Spring MVC 添加在方法上,是將請求方式限制為PUT的@RequestMapping
36 @PathVariable Spring MVC 添加在請求參數(shù)上,用于標記此參數(shù)的值來自URL中的占位符,如果URL中的占位符名稱與方法的參數(shù)名稱不同,需要配置此注解參數(shù)來指定URL中的占位符名稱
37 @RequestBody Spring MVC 添加在請求參數(shù)上,用于標記此參數(shù)必須是對象格式的參數(shù),如果未添加此注解,參數(shù)必須是FormData格式的
38 @RequestParam Spring MVC 添加在請求參數(shù)上,用于將請求參數(shù)值綁定到控制器方法的參數(shù)上,同時方便使用 Knife4j 測試
39 @ExceptionHandler Spring MVC 添加在方法上,標記此方法是處理異常的方法,可以通過配置注解參數(shù)來指定需要處理的異常類型,如果沒有配置注解參數(shù),所處理的異常類型取決于方法的參數(shù)列表中的異常類型
40 @ControllerAdvice Spring MVC 添加在類上,標記此類中特定的方法將作用于每次處理請求的過程中
41 @RestControllerAdvice Spring MVC 添加在類上,是@ControllerAdvice和@ResponseBody的組合注解
42 @Data Lombok 添加在類上,將在編譯期生成此類中所有屬性的Setter、Getter方法,及hashCode()、equals()、toString()方法
43 @Setter Lombok 添加在類上,將在編譯期生成此類中所有屬性的Setter方法,也可以添加在類的屬性上,將在編譯期生成此屬性的Setter方法
44 @Getter Lombok 添加在類上,將在編譯期生成此類中所有屬性的Getter方法,也可以添加在類的屬性上,將在編譯期生成此屬性的Getter方法
45 @ToString Lombok 添加在類上,將在編譯期生成基于此類中所有屬性的toString()方法
46 @NoArgConstructor Lombok 添加在類上,將在編譯期生成此類的無參數(shù)構造方法
47 @AllArgsConstructor Lombok 添加在類上,將在編譯期生成基于此類中所有屬性的全參構造方法
48 @Api Knife4j 添加在控制器類上,通過此注解的tags屬性配置API文檔中的模塊名稱
49 @ApiOperation Knife4j 添加在控制器類中處理請求的方法上,用于配置業(yè)務名稱
50 @ApiModelProperty Knife4j 添加在封裝的請求參數(shù)類型中的屬性上,用于配置請求參數(shù)的詳細說明,包括:名稱、數(shù)據(jù)類型、是否必須等
51 @ApiImplicitParam Knife4j 添加在控制器類中處理請求的方法上,用于配置請求參數(shù)的詳細說明,包括:名稱、數(shù)據(jù)類型、是否必須等
52 @ApiImplicitParams Knife4j 添加在控制器類中處理請求的方法上,如果需要通過@ApiImplicitParam注解配置的參數(shù)超過1個,則必須將多個@ApiImplicitParam注解作為此注解的參數(shù)
53 @ApiIgnore Knife4j 添加在請求參數(shù)上,用于標記API文檔中將不關心此參數(shù)
54 @Validated Spring Validation 添加在方法的參數(shù)上,標記此參數(shù)需要經(jīng)過Validation框架的檢查;添加在類上,并結合方法上的檢查注解(例如@NotNull等)實現(xiàn)對未封裝的參數(shù)的檢查
55 @NotNull Spring Validation 添加在需要被檢查的參數(shù)上,或添加在需要被檢查的封裝類型的屬性上,用于配置“不允許為null”的檢查規(guī)則
56 @NotEmpty Spring Validation 使用位置同@NotNull,用于配置“不允許為空字符串”的檢查規(guī)則
57 @NotBlank Spring Validation 使用位置同@NotNull,用于配置“不允許為空白”的檢查規(guī)則
58 @Pattern Spring Validation 使用位置同@NotNull,用于配置正則表達式的檢查規(guī)則
59 @Range Spring Validation 使用位置同@NotNull,用于配置“數(shù)值必須在某個取值區(qū)間”的檢查規(guī)則

注解大全圖解


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容