Spring在Struts+Spring+Hibernate中的作用是什么?
题
Spring 在 Struts + Spring + Hibernate 中扮演什么角色?
解决方案
Spring提供了许多不同的“模块”,不同的程序员将使用Spring的不同部分。
然而,通常在这种堆栈中,您会看到 Spring 被用作
- 用于依赖注入的控制容器反转
- Hibernate 的抽象称为“HibernateTemplate”
- 用于简化面向方面编程的框架类
- 事务支持,通常通过 IoC 容器和 AOP 进行“声明式”支持。
其他提示
好吧,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。
好的补充;
(视图和控制器)Struts具有Struts标签和Web请求处理功能的广泛JSP功能
(服务和应用程序管理)Spring通过优秀的依赖注入等处理ORM和服务层。
(具有db独立性的ORM)Hibernate用于经过充分验证的ORM
不隶属于 StackOverflow