2012-04-20 95 views
3

我開始使用Java EE 6多年後未碰觸EE(我在Spring的土地上呆了一段時間)。Java EE 6 - JSF控制器

在JSF 2中,我認爲我們並沒有真正擁有控制器。這項工作是由託管的豆子完成的?

如果是這樣,那麼將'Service'類(使用CDI)注入到託管bean中以處理業務邏輯(並隨後調用DAO)是否被認爲是正常實踐?

我買了一本書(PacktPub的'Netbeans'的EE 6),並閱讀了很多教程,但我仍然不清楚如何正確使用它。

作爲一個額外的問題,是否有一個參考「PetStore」風格的應用程序,我可以下載,它顯示了所有以最佳實踐方式鏈接在一起?

感謝

+0

其實,本教程看起來很有前景:http://jsf-tying-it-all-together.blogspot.co.uk/p/project-1-table-of-contents.html – Richard 2012-04-20 10:44:28

回答

3

在JSF 2,我是正確的思維,我們真的沒有控制器 了。這項工作是由託管的豆子完成的?

這取決於您如何定義術語控制器。有些人會將託管的bean與控制器混淆,但它們屬於MVC的模型部分,或者位於模型,視圖和控制器之間(參見great answer by Arjan Tijms類似的問題)。

如果是這樣,是它認爲是正常的做法,然後注入一個「服務」 類(CDI)到我管理的bean來處理業務邏輯 (隨後調用DAO的)?

這可以完成,並且是正常的做法(我在我的所有項目中都這樣做)。但請注意,該注入並不總是按預期工作,因此,例如,您不能將託管bean注入CDI bean(請參閱my answer以解決類似問題)。

作爲獎勵的問題,有沒有參考「的PetStore」風格的應用程序,我 可以下載,顯示所有連接在一起的最佳實踐 樣的方式?

你可以看看Netbeans tutorials。你會發現很多關於這個話題的信息。我們強烈建議您訪問BalusC's blog

+0

謝謝Matt,一些很棒的諮詢。也會在週末查看該博客。非常感激。 – Richard 2012-04-20 12:25:18

+0

對於大多數人來說,這確實是一箇舊消息,但我偶然發現了作爲Java EE 6教程一部分的「Duke's Bookstore」。有很多有用的例子。 – Richard 2012-04-22 22:04:27