2011-10-04 50 views
0

我有一個基於JAX-RS的(RESTEasy)REST服務器,它使用Java註釋來標記具有URL等資源方法。例如,一個方法可以有註釋在Java中使用帶有註釋標記方法的Aspect-Orient-Programming

@javax.ws.rs.GET 
@javax.ws.rs.Path("https://stackoverflow.com/users/{user_id}") 
public Response getUser(...) 

和時自動客戶端調用GET /users/1234 HTTP/1.1 URL將被調用。

我發現我的資源方法有越來越多的「通用」邏輯,必須使用每種方法執行:日誌記錄,安全檢查,查詢參數驗證等。我相信這需要Aspect-Orient-Programming( AOP),但我之前沒有使用過這種技術。如果我使用其中一個AOP框架,我的註釋「標籤」是否會保留,以便JAX-RS驅動程序可以找到我的資源方法?哪些AOP框架可以滿足我的要求?

回答

1

AspectJ滿足您的要求:AspectJ可以攔截調用或執行註釋的方法,而無需更改或刪除註釋。

例如,我們在JPA實體上使用了AspectJ,這些類仍然可以被Hibernate看到。

相關問題