是否有可能做到以下幾點: 我可以使用AOP註釋在春季注入代碼嗎?
public void doStuff(@RequirePrivilege("foo") User user) {
// ...
}
並使其有效地運行,好像它是下面那樣?
public void doStuff(User user) {
if(!user.hasPrivilege("foo"))
throw new UserHasInsufficientPrivileges(); // this is a RuntimeException
// ...
}
我知道Spring有各種各樣的AOP支持,但我能找到的最好的是AOP代碼,它被註釋以便在特定方法之前或之後執行。我想做相反的事情並且註釋應該改變的代碼。
最終,我只能在方法內執行上面的檢查,但是處理註釋的方式提供了額外的文檔,這使得用戶需要特定的權限而無需保持文檔與代碼同步。