2011-10-04 18 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看到。

相关问题