java常用注解(更新中)


注解根據來源可分為: 系統注解(自帶的,取決於JDK版本)、自定義注解及第三方注解

系統注解根據用途又可分為: java內置注解和元注解

 

根據運行機制(保留到什么時候)可分為: 源碼注解、編譯注解和運行注解

 

java內置注解

@Override

覆蓋父類方法

@Deprecated(不贊成)

用於方法,表明方法已過期,不建議使用

@Suppvisewarning 

忽略警告,例如當我們要使用已過時方法,有的編譯器會出現警告,

@Suppvisewarning("deprecation")表示忽略此警告

-------------------------------------------------------------

 

元注解

用來注解其他注解

@Target

聲明注解用在什么地方

ElementType.CONSTRUCTOR 用於構造器

ElementType.FIELD 用於成員屬性

ElementType.LOCAL_VARIABLE 局部變量

ElementType.METHOD 方法

ElementType.PACKAGE 包

ElementType.PARAMETER 用於參數

ElementType.TYPE 類、接口或enum(enum可視為特殊的類)

ElementType.ANNOTATION_TYPE 注解

 

@Rentention

注解信息保留到什么時候

RententionPolicy.SOURCE 只在源代碼中保留,編譯階段拋棄

RententionPolicy.CLASS 只保留到編譯階段(CLASS文件),VM中運行時拋棄

RententionPolicy.RUNTIME 運行時也保留,可通過反射機制獲取注解信息

 

@Document

注解將被包含至javadoc中

備注: javadoc是Sun公司提供的一種技術,能從源代碼中抽取類、方法、成員、注釋等生成一個和源代碼配套的API幫助文檔

指令: javadoc xxx.java

 

@Inherited

子類可繼承父類的此種注解(如果父類有的話)

------------------------------------------------------------------

常用第三方注解

@Return

一般用於方法上,說明有返回值

 

@Controller

聲明為控制器,可返回jsp、html頁面的名稱並跳轉到相應頁面

備注:springMVC中,控制器就是一個其方法中添加了@RequestMapping來處理請求的類

 

@RequestBody

 

@ResponseBody

與@Controller結合使用,表明返回json數據

 

@RequestMapping(value= 'xx', method=XX)

表明方法是處理那種類型、什么地址的請求,返回值默認解析為跳轉路徑

 

@GetMapping()

組合注解,是@RequestMapping(method = RequestMethod.GET)的縮寫

 

@PostMapping()

組合注解,是@RequestMapping(method = RequestMethod.GET)的縮寫

 

@PathVariable

Spring3.0 新增帶占位符的 URL,例如@RequestMapping("/a/{id}"),通過@PathVariable可以將 URL中占位符參數綁定到控制器處理方法的入參中

 

@RestController

@Controller與@ResponseBody的結合

 

@ComponentScan

會掃描@Controller、@Service、@Repository、@Component,默認掃描自己所在的包

basePackage 制定掃描的包(根目錄開始)

includeFilters 包含的過濾器

excludeFilters 排除的過濾器

 

@Filter 

type value

 

@Controller

聲明為一個控制器 語義性,功能同@Component

 

@RestController

相當於ResponseBody+Controller 表明此控制器返回json

 

@Test

junit 表明為測試方法

 

@Configuration

表明是一個配置類

 

@ComponentScan

組件掃描,主要是掃描我們自定義的組件(歸spring管理的)

 

@EnableAutoConfiguration

組件掃描,但主要是掃描jar包下

啟用 Spring 應用程序上下文的自動配置

 

@SpringBootApplication

相當於@Configuration+ @EnableAutoConfiguration+ @ComponentScan

 

@Autowired

自動裝配bean,默認按照類型

 

@Resource

自動裝配bean,默認按照名稱

 

@GeneratedValue(strategy=GenerationType.xxx)

用來設置主鍵的生成策略

AUTO 由程序控制

IDENTITY 由數據庫生成,采用數據庫自增長

。。。

 

@Id

聲明屬性為主鍵

 

@Column(name= "xxx")

聲明屬性在數據庫中的名稱

 

@ConfigurationProperties("xxx.xxx.xxx")

注入application.properties中xxx.xxx.xxx開頭的屬性 

 

@Primary

確定該實現類為最優先

 

@Qualifier

為同一接口的實現類添加標志

 

@Mapper

聲明此接口為一個mapper,使用此注解無需再寫xml映射文件

componentModel 聲明此接口的實現類的類型

 

@MapperScan

掃描指定的包,包內所有的類都成為mapper,這樣無需為每一個類都添加@Mapper

@MapperScan(basePackages= {"xxx.xxx"}, sqlSessionFsactoryRef= "", sqlSessionTemplateRef= "")

 

@RequestBody

作用於形參上,將前台發來的固定格式的數據(xml或json)封裝成JavaBean對象

如何封裝: 使用系統默認配置的 HttpMessageConverter對數據進行解析,然后封裝到形參上

body-> JavaBean

 

@ResponseBody

作用於方法,表明此方法的返回值寫入Http response body中

如何寫入: 改注解作用的方法返回一個對象,通過適當的HttpMessageConverter轉換為指定格式后,寫入到Response對象的body數據區

JavaBean-> body

 

 

mybatis注解:

@Select

......

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM