Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我们总是把Hibernate、Spring和Struct放在一个应用程序中?_Java_Hibernate_Spring_Frameworks_Spring Mvc - Fatal编程技术网

Java 为什么我们总是把Hibernate、Spring和Struct放在一个应用程序中?

Java 为什么我们总是把Hibernate、Spring和Struct放在一个应用程序中?,java,hibernate,spring,frameworks,spring-mvc,Java,Hibernate,Spring,Frameworks,Spring Mvc,当然,我说的是使用MVC模式 当然,Hibernate使模型层的使用更加方便。 但是,弹簧和支柱都与控制器和视图一起工作。 所以,我的问题是:“我不明白为什么其他人总是在一个应用程序中同时使用弹簧和减震器,而我们只需要其中一个(减震器或减震器)。如果有人理解,请告诉我,谢谢!” 我只是Java世界的一个孩子,所以任何评论都非常感谢。Spring既是Spring(IOC容器)又是Spring MVC(web操作框架)。Struts只是一个web操作框架。因此,如果您更喜欢Struts而不是Spri

当然,我说的是使用MVC模式
当然,Hibernate使模型层的使用更加方便。
但是,弹簧和支柱都与控制器和视图一起工作。
所以,我的问题是:“我不明白为什么其他人总是在一个应用程序中同时使用弹簧和减震器,而我们只需要其中一个(减震器或减震器)。如果有人理解,请告诉我,谢谢!” 我只是Java世界的一个孩子,所以任何评论都非常感谢。

Spring既是Spring(IOC容器)又是Spring MVC(web操作框架)。Struts只是一个web操作框架。因此,如果您更喜欢Struts而不是SpringMVC,而且还想要一个IOC容器,那么您将使用Struts和Spring

此外,Spring还提供了声明性事务管理、安全框架、一组JDBC助手类等,您可能希望在Struts/Hibernate应用程序中使用这些类

但是,弹簧和支柱都与控制器和视图一起工作

Spring,如下图所示:

其中一个问题是。我同意,将SpringMVC与Struts一起使用(通常)是没有意义的(尽管在大型站点中,不同的部门可能有不同的要求)


然而,Spring还有很多其他功能,最重要的是,因此集成不同的模型和视图技术是非常有意义的。

Spring不仅仅是MVC。它有更多的集成,如数据库、安全性、DI等。如果使用Spring,通常需要使用其中一个功能(这并不意味着必须使用Spring MVC)

我不会说总是这样。就我个人而言,我从未将Spring和Struts放在同一个应用程序中,我敢打赌大多数Spring/Hibernate项目也不使用Struts。

我认为您首先误解了MVC模式。模型并不是关于持久性,而是首先关于业务逻辑。它通常涉及一些持久性和服务类。为此,许多人选择Hibernate作为持久性,选择SpringIOC作为依赖注入


对于web应用程序的视图和控制器部分,一个著名的web mvc框架是Struts和Spring mvc。Spring本身由许多组件组成,SpringIOC和SpringMVC是其中的两个。SpringMVC与Struts是等效的,所以您不需要同时使用它们。但是可以将Struts和SpringIOC结合起来。

假设Spring和Struts都是在某些方面重叠的框架。即使我这样认为,如果您充分利用了spring,也应该根本不需要struts。但是人们倾向于坚持他们习惯的东西。由于Struts已经存在了相当长的一段时间,有很多基于它的应用程序,有很多人已经用它做了一个职业,并且永远不会放弃它。这就是为什么我看到了很多这样的混合应用程序。

Struts-通常提供MVC框架(大多数生产支持和维护应用程序已经与之集成)。
Spring-在不干扰现有java类/代码的情况下注入/添加新组件。

这主要取决于您的项目需求,在我们的项目中,我们使用了JQuery,在UI层使用了大量Struts标记,这是我们使用struts2的主要原因,因为struts2与JQuery有很好的集成 Struts2 JQuery标记库非常有用,因此我们使用Struts2 + Spring框架提供了一种管理依赖关系的简单方法。(因为它的DI和IoC) 它可以很容易地与struts 2框架集成。
ContextLoaderListener类用于将spring应用程序与struts 2进行通信。

当有人以通俗的方式提到spring时,他们指的是IOC容器还是spring MVC,或者是同一件事?另外,假设有人提到Spring而不是Spring Boot,这是一件独立的事情,这是否安全(我的理解是针对微服务的)