Spring MVC 与 JSF 2,这是唯一的方法吗?
到目前为止,我见过的将 spring/mvc 与 JSF 集成的所有示例都使用 DAO 类、DAOImp、Service、ServiceImp,然后是 JSF ManagedBean,据我所知,对于 EJB 3.1,我所需要的只是 EJB 和 JSF ManagedBean。我没有提及实体。因此,根据我对 Spring + JSF 的理解,我需要: 5 个类,使用 EJB + JSF 我只需要两个类。如果我错了,请纠正我,但如果我是对的,那么将 Spring 与 JSF 结合使用有什么好处。
谢谢。
All the examples I've seen so far integrating spring/mvc with JSF uses DAO class, DAOImp, Service, ServiceImp and then JSF ManagedBean and as far as I know with EJB 3.1 all I need is EJB and JSF ManagedBean. I am not mentioning entities. So based on my understanding with Spring + JSF I need:
5 classes and with EJB + JSF I need only two classes. Please correct me if am wrong but if am right then what's the advantage of using spring with JSF.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您错了。 -- 如果您想在 Service 类中实现所有内容,可以跳过 DAO、DAOImpl 和 ServiceImpl。
但即使在 EJB 中,将服务和 DAO 分开也是最佳实践。
接口的使用是一种风格。如果您使用接口,至少您可以跳过它们并创建您的服务(和 Dao),例如 EJB 3.1 接口免费 Bean(我目前不知道正确的名称)。至少在 Spring 和 EJB 3.1 中使用接口有相同的优点和缺点。
总结:您可以构建具有 2 个类的 Spring JSF2 应用程序,但最佳实践是至少分离 JSP(视图)、服务(EJB)和 DAO。
在传统的 Spring 架构中,您有:
这是最常见的架构风格之一(不仅在 Spring 中)。但即便如此,也存在一些变体:
顺便说一句:另一种非常有趣的建筑风格是一顶帽子 Spring ROO用途:它只有视图(PersonController)和模型(Person),所有的DAO和服务功能都放在模型类中——这就是真正的OO设计。
You are wrong. -- You can skipp the DAO, DAOImpl and ServiceImpl if you want to implment all in the Service Class.
But even in EJB it is best practice to seperate the Service and the DAOs.
The usage of Interfaces is a kind of style. If you use interfaces, at least you can skip them to and create your services (and Dao) like EJB 3.1 interface free Beans (I don't know the correct name at the moment). At least there are the same pro and cons to use interfaces in Spring and EJB 3.1.
Summary: You can build Spring JSF2 Apps with 2 classes to, but it is best practice to seperate at least JSP (view), Service (EJB's) and DAOs.
In traditonal Spring architecure you have the:
This is one of the most common architecural style (not only in Spring). But even for this there are some variants:
BTW: one other very intresting architural style, is the one hat Spring ROO uses: It has only the View (PersonController) and the Model (Person), and all DAO and Service Functionality is put in the Model class. -- That is a bit of real OO Design.