4

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

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

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

我想控制函数调用。

例如

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

所以我的函数只有在用户有权限的情况下才会被调用,否则用户应该被重定向到登录页面。

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

希望你能把事情弄清楚

谢谢。

4

4 回答 4

3

可以这样做,但需要大量额外的代码。拦截方法调用是 AOP(面向方面​​编程)的一部分。您需要为您的目标对象制作代理,并在调用处理程序中解析注释。

幸运的是,你不必这样做——因为你有一个 webapp,只需使用 spring/spring-mvc/spring-security。Spring 为您提供了一个 AOP 框架,您可以使用它来定义处理权限逻辑的方面

于 2012-09-02T21:50:34.090 回答
2

不知道你怎么能自己做到这一点,但如果你使用的是 Spring,他们有一些可能会有所帮助的东西

http://static.springsource.org/spring-security/site/docs/3.0.7.RELEASE/reference/el-access.html

我将它用于我当前的项目并且效果很好

于 2012-09-02T21:49:10.573 回答
1

类似的事情应该在函数本身(或程序的其他部分)中完成。请注意,注释提供了有关属于程序本身的程序的数据(请参阅参考)。

于 2012-09-02T21:49:52.460 回答
1

我认为您所追求的是在您的方法之前运行的 AOP 顾问。见这里:http: //java-questions.com/spring_aop.html

作为 Spring 的替代方案,您可以使用 AspectJ:http ://www.andrewewhite.net/wordpress/2010/03/17/aspectj-annotation-tutorial/

于 2012-09-02T21:53:03.257 回答