我正在學習AOP,並且對切入點,忠告等感到舒服。 我會問什麼,我很確定不可能,但是想要問任何問題。爲使用面向方面的編程的方法提供數據
我有一個方法,它需要一個userId,從數據庫中提取用戶的記錄,然後做記錄。我有20種不同的方法可以做不同的事情,但他們都將userId作爲輸入並從數據庫中獲取記錄。對我而言,這看起來像是一個橫切關注點,可以被拉進一個方面。
但是如何?我知道我可以訪問參數(在這種情況下是userId),訪問方法的返回值並捕獲方法異常。但我怎麼給方法一些工作(在這種情況下,記錄在數據庫中?)
public String printUserDetails(String userId)
{
Record record = Database.fetchRecord(userId);
System.out.println(record.getDetails());
return record.getTitle();
}
那麼,有沒有辦法拉該數據庫訪問代碼放到一個方面?我認爲的
一種方式聲明類似下面的輸入
class RequestObject
{
String userId;
Record record;
}
並注入記錄在上述方面,然後調用進行()。但這不知何故感覺不對。
我知道這個是舊的,但仍列爲未答覆。如果看起來合適,請您接受並提出我的答案嗎?謝謝。 – kriegaex