是否可以执行以下操作:
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 代码,它经过注释,以便在特定方法之前或之后执行。我想做相反的事情并注释应该更改的代码。
最终,我可以在方法内部进行上述检查,但是注释的处理方式提供了额外的文档,这使得用户需要特定的权限而无需使文档与代码保持同步。