多年未接触EE之后,我便开始使用Java EE 6(我在Spring领域已经有一段时间了)。
在JSF 2中,我是否正确地认为我们不再拥有 Controller 了。这项工作是由托管bean完成的?
如果是这样,然后在我的托管bean中注入“服务”类(带有CDI)以处理业务逻辑(并随后调用DAO)是否被视为正常做法?
我买了一本书(PacktPub的“带有Netbeans的EE 6”)并阅读了很多教程,但是我仍然不清楚如何正确地做它。
作为一个额外的问题,是否存在我可以下载的参考“PetStore”风格的应用程序,以表明它们以最佳实践的方式链接在一起?
谢谢
最佳答案
在JSF 2中,我是否正确地认为我们实际上没有 Controller
还有。这项工作是由托管bean完成的?
这取决于您如何定义术语 Controller 。有些人将托管bean与 Controller 混淆了,但是它们属于MVC的模型部分,或者位于模型, View 和 Controller 之间(请参阅great answer by Arjan Tijms到类似的问题)。
如果是这样,然后再注入“服务”被视为正常做法
类(使用CDI)到我的托管bean中以处理业务逻辑
(然后称为DAO)?
这是可以做到的,是正常的做法(我在所有项目中都这样做)。但是请注意,注入并不总是能按预期方式工作,因此例如您不能将托管bean注入CDI bean中(有关类似问题,请参见my answer)。
作为奖励问题,我是否有参考“PetStore”风格的应用程序,
可以下载并显示所有链接在一起的最佳做法
什么样的方式?
您可以看看Netbeans tutorials。在这里,您可以找到有关该主题的很多信息。强烈建议访问BalusC's blog。
关于jsf-2 - Java EE 6-JSF Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10244525/