一、主要應用要求
記錄lis配置模組的歷史記錄,要求能夠準確的記錄配置修改前修改後的歷史資料,及操作行為。
spring 的aop功能
優點:比較方便,通過自定義註解的方法,把想要記錄的內容放在註解中,通過切入點來獲取註解引數,就能獲取自己想要的資料,記錄資料庫中。(可以記錄,操作人的資訊,操作介面的方法,入參,出參等等)
缺點:不太好實現多表操作
3.1.資料庫設計
主日誌表sys_systemlog:日誌表
no.
欄位名
含義
型別
備註說明
表名:sys_systemlog 日誌表1
logid
主鍵logid
string 2
tablename 操作
標明 string 3
optype
操作型別
string 4
userid
操作人id
string 5
subsyscode
子系統**
string 6
hospitalcode
機構**
string 7
hospitalname
機構名稱
string 8
logcode
登入賬號 001
string 9
usercode 工號
string 10
username
姓名 string 11
deptcode
部門**
string 12
deptname
部門名稱
string 13
ip操作電腦的ip
string 14
url操作的介面位址
請求型別
string
post/get 16
actionmethod
介面方法
string 17
params
介面入引數
string 18
actiondate
開始時間
string 19
returndate
操作介面結束時間
string 20
type
string 21
returndata
返回的出參
string 22
modules模組
string 23
description描述
string 24
exceptioncode
異常code
string 25
exceptiondetail
異常資訊
string
子日誌表sys_systemlog_detail:操作日誌詳情表
no.
欄位名
含義
型別
備註說明
表名:sys_systemlog_detail 操作日誌詳情表1
id 主鍵id
string 2
logid
操作日誌id
string
sys_systemlog的主鍵3
fieldname
欄位名稱
string 4
fielddetail
字段描述
string 5
oldvalue
當前欄位舊值
string 6
newvalue
當前欄位新值
string
注:主表和子表的關係是一對多的關係;通過
logid
字段連線。
4.1通過自定義註解,註解到需要aop切入的方法上
定義註解:operationlog,並且定義六個屬性
string id();//資料表主鍵id
string table();//資料表
string cloum() default {};//需要記錄的字段
operationtype type();//操作型別:add 新增,update修改,delete刪除
string descrption() default "" ;//描述
string modules() default "";//操作模組
4.2定義切面類,獲取切面引數,儲存資料庫具體**如下:
4.3 日誌切入【新增註解標誌即可】
刪除:
新增:
修改:
4.4 資料庫記錄資料的效果:
本次在外地出差,無法連線資料庫,回頭補上資料庫的截圖。有問題的可以聯絡我:qq875491089
Spring AOP 記錄日誌
spring aop 最常用的地方之一就是記錄日誌,這裡記錄除了記錄日誌描述外,還記錄了方法請求的引數,並將記錄儲存到資料庫。這裡用到了自定義註解,使用如下 public class operationlog implements serializable aop 日誌記錄,自定義註解 author...
使用Spring AOP記錄訪問日誌
api class clazz joinpoint.gettarget getclass 獲取目標類物件 string methodname joinpoint.getsignature getname 獲取切入點的方法名 string values anno.value 獲取註解的value屬性值...
SpringAop切面實現日誌記錄
springaop切面實現日誌記錄 實現 原因 spring在處理中,可能是因為我的專案有事務,serviceimpl的方法被 後直接得不到了。換乙個思路 先得到自己的父類,然後通過父類得到真實的自己 解決方法 1 2 這個方法幫忙拿出註解中的operation屬性 3 因為有攔截serviceim...