2012-04-20 83 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