我在java中使用了很多注释,但我从来没有写过。我读了几本导游,我真的很困惑。
他们正在使用元信息之类的注释,例如姓名,年龄等。这真的令人困惑,因为我想做一些不同的事情
http://www.developer.com/java/other/article.php/3556176/An-Introduction-to-Java-Annotations.htm
我想控制函数调用。
例如
@Permission(user)
public static void account(){
...
}
因此,只有在用户拥有权限的情况下才会调用我的函数,否则应将用户重定向到登录页面。
我找不到任何信息,也许我使用了错误的关键字?
我希望你能搞清楚,
感谢。
答案 0 :(得分:3)
你可以这样做,但有很多额外的代码。拦截方法调用是AOP(面向方面编程)的一部分。您需要为目标对象创建代理,并在调用处理程序中解析注释。
幸运的是,您不必这样做 - 因为您有一个webapp,只需使用spring / spring-mvc / spring-security。 Spring为您提供了一个AOP框架,您可以使用它来定义处理权限逻辑的方面
答案 1 :(得分:2)
不确定如何自己做到这一点,但如果你使用的是Spring,他们会有一些可能有用的东西
http://static.springsource.org/spring-security/site/docs/3.0.7.RELEASE/reference/el-access.html
我将它用于我当前的项目并且效果很好
答案 2 :(得分:1)
这样的事情应该在函数本身(或程序的其他部分)中完成。请注意,注释提供了有关程序本身不的程序的数据(请参阅this参考)。
答案 3 :(得分:1)
我认为你所追求的是一个在你的方法之前运行的AOP顾问。见这里:http://java-questions.com/spring_aop.html
作为Spring的替代方案,您可以使用AspectJ:http://www.andrewewhite.net/wordpress/2010/03/17/aspectj-annotation-tutorial/