我已經經歷了一些春/ AOP教程和有所熟悉自己與相關概念的最佳方式。春/ AOP:實現一個活動登錄數據庫
現在我已經達到了我的要求,我需要創建一個活動日誌實現,它將保存登錄用戶在數據庫中的活動,其範圍可以從申請服務或創建新用戶以防Admin
用戶,等在具有註釋的任何方法的調用(比如@ActivityLog
),此信息是在actorId
形式,actionComment
,actionTime
,actedUponId
要永久保存,...等等。現在
,如果我創建一個POJO類(映射到數據庫中的ActivityLog
表),並且想要從Advice
中保存此數據(最好使用與方法,方法相同的事務使用@Transactional
註釋),我如何實際填充此POJO中的變量?我大概可以從會話對象& actionTime
可以簡單地new Date()
的actorId
但有關actionComment
/actedUponId
動態值怎麼樣?
任何幫助將是輝煌! (順便說一句,我有一個要求,不使用Hibernate的攔截器。)
感謝您的答覆。有趣的方法,但actionComment可能來自用戶輸入!也想補充一點,我猜我應該使用After Advice(儘管不知道它是否會使用與原始方法相同的事務)!謝謝,Sumit – Sumit
BTW actedUponId應該是用戶的userId操作(添加,刪除等)正在由管理員執行。 – Sumit
如果使用spring-security,principal/user必須可用'SecurityContextHolder..getUserPrincipal()'。你打算如何獲取userId? –