Spring在Struts + Spring + Hibernate中扮演什么角色?
答案 0 :(得分:16)
Spring提供了许多不同的“模块”,不同的程序员将使用Spring的不同部分。
但是,通常在这种堆栈中,您会看到Spring被用作
的提供者答案 1 :(得分:4)
好吧,Hibernate处理持久性部分,JSP处理你的GUI,Struts控制页面/动作/等之间的流程,Spring可以管理包含主要业务逻辑的所有bean,而不是使用EJB。此外,它还可以简化Hibernate DAO和事务管理的编码。 您无需编写Locator代码来通过JNDI和所有这些东西获取某些EJB,您只需获取Spring ApplicationContext并询问您需要的bean。 Spring中定义的所有bean都可以互连。如果必须通过JNDI将一个bean连接到外部EJB,您甚至可以在没有任何代码的情况下执行此操作(Spring提供了一个JNDI代理对象,该对象获取您提供的引用并将其作为具有您指定的接口的对象返回)。这可以帮助您简化所有这些bean的单元测试并更改配置而无需重新编码任何内容;您可以使用Spring的PlatformTransactionManagers之一来管理DataSource或将其指向J2EE容器的JTA管理器;定义您自己的池化DataSource或使用通过JNDI等发布的容器的DataSource。
答案 2 :(得分:0)
好的补充;
(视图和控制器)Struts具有Struts标签和Web请求处理功能的广泛JSP功能
(服务和应用程序管理)Spring通过优秀的依赖注入等处理ORM和服务层。
(具有db独立性的ORM)Hibernate用于经过充分验证的ORM