Java注释

时间:2012-09-02 21:39:37

标签: java annotations

我在java中使用了很多注释,但我从来没有写过。我读了几本导游,我真的很困惑。

他们正在使用元信息之类的注释,例如姓名,年龄等。这真的令人困惑,因为我想做一些不同的事情

http://www.developer.com/java/other/article.php/3556176/An-Introduction-to-Java-Annotations.htm

我想控制函数调用。

例如

@Permission(user)
public static void account(){
...
} 

因此,只有在用户拥有权限的情况下才会调用我的函数,否则应将用户重定向到登录页面。

我找不到任何信息,也许我使用了错误的关键字?

我希望你能搞清楚,

感谢。

4 个答案:

答案 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/