個人在開發中遇到註解(如果又缺少常用的還請留言告知謝謝各位)

2020-09-30 16:00:59

Controll層(@Controller)

@RestController 代表@Controller+@ResponseBody

@RequestMapping 路徑(@PostMapping、@GetMapping、@PutMapping、@DeleteMapping)

value 路徑
method 請求方式
params 指定request中必須包含某些引數值時,才讓該方法處理
headers 指定request中必須包含某些指定的header值,才能讓該方法處理請求

@Autowired 自動注入 與@Resource同意

@Autowired預設按照型別注入,匹配屬性型別,也可使用@Qualifier指定bean名稱,使用bean名稱裝配。
@Autowired
@Qualifier(「user」)
private User usere;
@Resource
@Resource預設安照屬性名注入,可使用name和type屬性指定bean名稱和型別
@Resource(name=「usere」)
private User usere;;

@Value("${xx.xx}") 獲取軟編碼
@Api 類說明
@ApiOperation方法說明
@PathVariable 獲取請求中的引數
@ApiParam 在 Rest 介面上或 Rest 介面引數前邊使用,就是在@PathVariable

name String 「」 引數名稱,
value String 「」 引數簡單描述
defaultValue String 「」 描述引數預設值
allowableValues String 「」 可接收引數值限制,有三種方式,取值列表,取值範圍
required boolean false 是否為必傳引數, false:非必傳; true:必傳
access String 「」 引數過濾,請參閱:io.swagger.core.filter.SwaggerSpecFilter
allowMultiple boolean false 指定引數是否可以通過多次出現來接收多個值
hidden boolean false 隱藏參數列中的引數
example String 「」 非請求體(body)型別的單個引數範例
examples Example @Example(value = @ExampleProperty(mediaType = 「」, value = 「」)) 引數範例,僅適用於請求體型別的請求
type String 「」 新增覆蓋檢測到型別的功能
format String 「」 新增提供自定義format格式的功能
allowEmptyValue boolean false 新增將格式設定為空的功能
readOnly boolean false 新增被指定為唯讀的能力
collectionFormat String 「」 新增使用 array 型別覆蓋 collectionFormat 的功能

@RequestParam 將請求引數繫結到你控制器的方法引數上

value:引數名字,即入參的請求引數名字,如username表示請求的引數區中的名字為username的引數的值將傳入;
required:是否必須,預設是true,表示請求中一定要有相應的引數,否則將報404錯誤碼;
defaultValue:預設值,表示如果請求中沒有同名引數時的預設值,預設值可以是SpEL表示式,如「#{systemProperties[‘java.vm.version’]}」。

@RequestBody 引數為json時轉換pojo物件
@Log4j 使用log方法
@AllArgsConstructor 建立構造方法

在此類生成構造方法

@ApiImplicitParams 設定引數 裡邊是@ApiImplicitParam

@ApiImplicitParams:用在請求的方法上,包含一組引數說明
@ApiImplicitParam:對單個引數的說明
name:引數名
value:引數的說明、描述
required:引數是否必須必填
paramType:引數放在哪個地方
· query --> 請求引數的獲取:@RequestParam
· header --> 請求引數的獲取:@RequestHeader
· path(用於restful介面)–> 請求引數的獲取:@PathVariable
· body(請求體)–> @RequestBody User user
· form(普通表單提交)
dataType:引數型別,預設String,其它值dataType=「Integer」
defaultValue:引數的預設值

@CrossOrigin 跨域請求

origins : 允許可存取的域列表
maxAge:準備響應前的快取持續的最大時間(以秒為單位)。

service層(@Service)

@Transactional 事務管理

readOnly
該屬性用於設定當前事務是否為唯讀事務,設定為true表示唯讀,false則表示可讀寫,預設值為false。例如:@Transactional(readOnly=true)
rollbackFor
該屬性用於設定需要進行回滾的異常類陣列,當方法中丟擲指定異常陣列中的異常時,則進行事務回滾。例如:
指定單一異常類:@Transactional(rollbackFor=RuntimeException.class)
指定多個異常類:@Transactional(rollbackFor={RuntimeException.class, Exception.class})
rollbackForClassName
該屬性用於設定需要進行回滾的異常類名稱陣列,當方法中丟擲指定異常名稱陣列中的異常時,則進行事務回滾。例如:
指定單一異常類名稱:@Transactional(rollbackForClassName=「RuntimeException」)
指定多個異常類名稱:@Transactional(rollbackForClassName={「RuntimeException」,「Exception」})
noRollbackFor
該屬性用於設定不需要進行回滾的異常類陣列,當方法中丟擲指定異常陣列中的異常時,不進行事務回滾。例如:
指定單一異常類:@Transactional(noRollbackFor=RuntimeException.class)
指定多個異常類:@Transactional(noRollbackFor={RuntimeException.class, Exception.class})
noRollbackForClassName
該屬性用於設定不需要進行回滾的異常類名稱陣列,當方法中丟擲指定異常名稱陣列中的異常時,不進行事務回滾。例如:
指定單一異常類名稱:@Transactional(noRollbackForClassName=「RuntimeException」)
指定多個異常類名稱:
@Transactional(noRollbackForClassName={「RuntimeException」,「Exception」})
propagation
該屬性用於設定事務的傳播行為,具體取值可參考表6-7。
例如:@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
isolation
該屬性用於設定底層資料庫的事務隔離級別,事務隔離級別用於處理多事務並行的情況,通常使用資料庫的預設隔離級別即可,基本不需要進行設定
timeout
該屬性用於設定事務的超時秒數,預設值為-1表示永不超時

dao層(@Mapper)

@Param 對映到xml裡的名字

pojo層

@Data 建立get、set、tostring等方法
@ApiModelProperty 屬性說明
@JSONField(format=「yyyy-MM-dd」) 時間屬性上
@DatetimeFormat是將String轉換成Date,一般前臺給後臺傳值時用
@JsonFormat(pattern=「yyyy-MM-dd」) 將Date轉換成String 一般後臺傳值給前臺時
@JsonFormat會讓時間以0區時間顯示。如果直接使用會少了8小時修改為
@JsonFormat(pattern=「yyyy-MM-dd」,timezone=「GMT+8」)
@NotNull 不能為空

組態檔類(@Configuation)

@Bean 建立物件
@Component 將此類放到spring容器中
@Async 放在方法中代表此方法為非同步 如果啟用非同步啟動類一定加上非同步開關直接加@EnableAsync

其他

啟動類:
@SpringBootApplication 啟動註解
@MapperScan 掃描dao層
@EnableAsync 開啟非同步處理
@EnableSwagger2 使用swagger2
@ServletComponentScan (Servlet、Filter、Listener可以直接通過@WebServlet、@WebFilter、 @WebListener註解自動註冊,無需其他程式碼)
其他:
@Log4j 用於列印紀錄檔資訊
@Aspect 切面 {
@Pointcut 定義切點、
在通知的引數也可以定義切點
@Before 前置通知、
@AfterRetruning後置通知、
@Around環繞通知、
@AfterThrowing異常通知
}

==開發遇到還會更新,也期待有人提出哦!