2012-02-20 60 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

相關問題