學習筆記,記錄下專案中有趣的地方,從現在開始
採購相關的訂單狀態記錄,訂單狀態從建立到完成中間的狀態很多,為了更好的追溯資料和別的某些領導的需要記錄下訂單每次狀態變更,因為要記錄變更前狀態和變更後狀態,所以放棄了aop,用自定義註解+反射少些一點侵入**
因為不同業務的實體裡面業務單號和狀態字段大部分情況下不會一樣,使用自定義註解加到實體的字段上,通過反射獲取加過註解的字段,然後通過註解裡面的值value來找到自己想要的字段,然後定義乙個方法入參是泛型然後開始操作就行了
用來標記某個方法,成員變數,類,列舉等,每個註解都要有他的使用範圍@target和生命週期@retention
自定義註解
@target
(elementtype.field)
@retention
(retentionpolicy.runtime)
public @inte***ce
fieldvalue
實體
@data
public
class
test
列舉
public
enum fieldenum
elseif}
}//記錄資料
}}
稍微減少一下侵入**,雖然跟在**裡面new乙個物件傳過來沒什麼區別
記得異常catch吃掉或者開個執行緒,不能影響業務**
自定義註解 反射
需求 在做許可權平台的時候,需要寫乙個查詢審計記錄列表的介面。這個需求看起來非常簡單,就是從資料庫單錶裡面查出資料,返回json格式。然而,資料庫裡有兩列,修改前和修改後的json。需要翻譯成字串整個返回。資料庫的source欄位的json長這樣 status used end date is de...
自定義註解和反射例項
自定義註解和反射例項 author 這個例子是說實體和資料庫對應表的對映,可以在實體上面使用註解。public class tannotationclass 下面是備註接的類 class person 下面是自定義註解 target elementtype.field 註解是給屬性使用的 reten...
自定義註解
target elementtype.field retention retentionpolicy.runtime public inte ce setvalue以上就是乙個自定義的註解,下面來進行說明。target elementtype.field 表示支援該註解的程式元素,field就是屬性...