Spring在Struts + Spring + Hibernate中的作用是什么?

时间:2008-10-02 13:37:49

标签: java hibernate spring struts

Spring在Struts + Spring + Hibernate中扮演什么角色?

3 个答案:

答案 0 :(得分:16)

Spring提供了许多不同的“模块”,不同的程序员将使用Spring的不同部分。

但是,通常在这种堆栈中,您会看到Spring被用作

的提供者
  • 用于依赖注入的控制容器的反转
  • 对Hibernate的抽象称为“HibernateTemplate”
  • 简化面向方面编程的框架类
  • 交易支持,通常通过IoC容器和AOP“声明性地”。

答案 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