專案中常用的註解

2021-09-25 23:21:35 字數 3322 閱讀 6407

@data

應用場景:實體類不用手動新增get set 方法 。

匯入

idea中需要新增lombok外掛程式

@noargsconstructor: 自動生成無引數建構函式。 

@allargsconstructor: 自動生成全引數建構函式。

@select 和@selectprovider的區別

@select 後直接寫sql語句

@select("select * from ***_logs where cardtype=# and cardid=# and " +

"not isdeleted order by date,fromtime ")

@selectprovider後引用檔案

@selectprovider(type = ******provider.class, method = "selectparam")

konelogsdata findbyid(@param("id") integer id);

@options註解,兩個作用:可以為物件生成自增的key;能夠設定快取時間

場景(1)插入資料應用場景

@insertprovider(type = *****provider.class method = "insert")

@options(usegeneratedkeys = true ,keyproperty="id",keycolumn="id" )

integer insertlogs(*****data ****sdata);

log 表中有乙個id 自增長主鍵,為了在插入資料後自動獲取到該主鍵值,設定@optionos屬性usergeneratedkeys的值為true,並指定物件中主鍵的屬性名keyproperty以及在資料庫中的欄位名keycolumn。這樣在日誌資料插入後,id 屬性會自動賦值。

tips:@options註解中預設設定的主鍵對應的欄位名為id,如果你實體類中的屬性名為id,可以省略後面的keyproperty和keycolumn。如下圖

@insertprovider(type = ****provider.class, method = "insert")

@options(usegeneratedkeys = true)

integer insertlogs(****gsdata ****sdata);

場景(2)查詢資料應用場景

@selectprovider (type=****rovider.class,method = "selectparam")

@options (usercache =true,flushcache =options.flushcachepolicy.false,timeout =10000)

****gsdata findbyid(@param("id") integer id);

@options 配合 查詢語句使用,usecache = true表示將會快取本次查詢結果,以提高下次查詢速度;flushcache = options.flushcachepolicy.false表示查詢時不重新整理快取;timeout = 10000表示查詢結果快取10000秒。

@service

標誌該層是service 檔案

@autowired

自動匯入相應檔案

@exceptioncatcher("新增日誌失敗!")

異常提示語丟擲,也可以通過

if (worktime > 720)
@apiignore

專案繼承了檢視測試介面的swagger,@apiignore是為了讓註解忽略這個api

@controller和@restcontroller的區別

@restcontroller註解相當於@responsebody + @controller合在一起的作用。

1) 如果只是使用@restcontroller註解controller,則controller中的方法無法返回jsp頁面,或者html,配置的視**析器 internalresourceviewresolver不起作用,返回的內容就是return 裡的內容。

2) 如果需要返回到指定頁面,則需要用 @controller配合視**析器internalresourceviewresolver才行。

如果需要返回json,xml或自定義mediatype內容到頁面,則需要在對應的方法上加上@responsebody註解。

@requestbody與@requestparam的區別

@requestbody主要用來接受前端傳遞給後端的json字串中的資料(請求體中的資料);get方式無請求體,所以使用@requestbody接受資料時,前端不能使用get方式提交資料,而是要用post方式進行提交。在後端的同乙個接收方法裡,@requestbody與@requestparam()可以同時使用,@requestbody最多只能有乙個,而@requestparam()可以有多個。

注:如果引數前寫了@requestparam(***),那麼前端必須有對應的***名字才行(不管其是否有值,當然可以通

過設定該註解的required屬性來調節是否必須傳),如果沒有***名的話,那麼請求會出錯,報400。

post方式接受請求體,

get方式接受引數

@enablescheduling

spring自帶的定時任務功能@enablescheduling

@component and @componentscan 的區別

@component 和 @componentscan的使用目的不一樣 在某個類上使用@component註解,表明當需要建立類時,這個被註解的類是乙個候選類。就像是舉手。

@componentscan 用於掃瞄指定包下的類。就像看都有哪些舉手了。

該原始碼內包含了@componentscan,@enableautoconfiguration,@springbootconfiguration

@enableautoconfiguration,這個註解的作用與@configuration作用相同,都是用來宣告當前類是乙個配置類.

@enableautoconfiguration是springboot實現自動化配置的核心註解,通過這個註解把spring應用所需的bean注入容器中.

專案中常用到的註解,分類,用法

用於指示spring類的例項是乙個控制器,加在controller類上使用 controller 用於標註業務層元件 service 指定要變成實現類的介面所在的包,然後包下面的所有介面在編譯之後都會生成相應的實現類 是在springboot啟動類上面新增 路徑 申明請求的url,加在control...

專案中常用的linux命令

1.du sm sort n 把當前目錄下的檔案 或目錄 按大小排序,看下哪個地方占用最多 2.pwd 獲取當前目錄路徑 3.tail f file path 顯示檔案最後幾行內容 若檔案內容變動,會動態更新後面幾行 4.pgrep process name 獲取程序id 5.ps ef grep ...

專案中常用的git指令

1.新建乙個本地分支並切換到新建的那個分支 git checkout b 新分支名 2.從乙個分支切換到另乙個分支 git checkout 分支名3.將 恢復到最近的一次commit 時候的狀態 git stash4.將 從最近的一次commit的狀態恢復到最新的進度 git stash pop5...