2012-02-20 75 views
7

我不太明白@with注释的作用。@with注释的含义是什么? (Play Framework)

在游戏框架网站

,它写的是:

,我们可以使用@With注解告诉 播放调用相应的拦截

是一样的注释控制器继承?它会调用给定类参数的@before吗?它究竟做了什么?

回答

7

我可以形容它,最好的办法是,它那种让你在为你的拦截你的控制器级多重继承。拦截器是@Before,@After注释。

你可以因此

  • 定义了一个控制器,处理您的安全区域@Before注释
  • 定义控制器使用@Before

你可以注入你的共享行为的静态数据处理然后定义包含所有操作的一个或多个控制器,并使用@With注释来使用上述两个控制器。这意味着你可以把你的代码干净地分离出来,而不必依赖继承来执行@Before注解。

6

假设你有2个控制器:

  • A@Before或其他控制器动作注入注释,
  • B得到标注有@With(A.class)

所有A定义的那些注入行动将是有效的当调用B的操作方法。

这是一种继承。但是,通过继承,您最多可以扩展一个类。但是你可以做@With({A.class, Z.class, ...})

+0

如果我理解正确的话,在B级我可以称之为是一个类(隐式)的任何方法? – james 2012-02-20 23:03:48

+0

不,只是intercepters(()在之前,(在)之后,(在)最后等)将工作 – 2012-11-10 06:18:00

相关问题