Java框架清晰性

Java框架清晰性,java,spring,jakarta-ee,Java,Spring,Jakarta Ee,在Java中,我们有Blade、Dropwizard、Grailsgroovy-based、GWT、Hibernate、JSF、JHipster、MyBatis、Spark framework、Spring framework、Struts等框架 我们主要使用spring、hibernate等。为什么我们有这么多框架?为什么所有功能都不包含在一个框架中?如果有人问我为什么使用这个框架,我无法回答。我们需要了解每个框架吗?请有人提供简短的文档,说明何时使用哪个框架以及为什么使用哪个框架?每个人都负

在Java中,我们有Blade、Dropwizard、Grailsgroovy-based、GWT、Hibernate、JSF、JHipster、MyBatis、Spark framework、Spring framework、Struts等框架


我们主要使用spring、hibernate等。为什么我们有这么多框架?为什么所有功能都不包含在一个框架中?如果有人问我为什么使用这个框架,我无法回答。我们需要了解每个框架吗?请有人提供简短的文档,说明何时使用哪个框架以及为什么使用哪个框架?

每个人都负责不同的任务,例如Hibernate用于简化数据访问,因此它只能用于持久性层。您正在使用任何可以使您的工作更轻松、应用程序更干净、更快的工具,等等

一些框架构建在其他框架之上,例如grails构建在spring boot之上,后者基于spring。他们正在使开发过程更快,并使许多事情自动化,例如SpringDataJPA在运行时生成方法,这样您就不必编写它了。在引擎盖下,它使用hibernate


其中一些并不是真正的框架,例如jhipster——它是一个代码生成器。它可以引导一个应用程序,包括后端和前端,但实际上您使用的是spring boot和angular/react。

这是一个好问题,Dhanraj!我将尝试回答,记住我只是提供我的意见

1为什么有这么多框架? 商业利润当然是一个原因。独立于甲骨文这样的大型组织发展自己的想法的自由可能是另一个原因

2我们是否需要了解每个框架? JohnSonmez在他的《软件开发人员职业指南》一书中谈到了只学习你“需要”的东西。因此,现在只需要学习完成家庭项目/工作中的用户故事所需的2到3件事。你可以把它想象成蝙蝠侠的腰带!蝙蝠侠随身携带的只是他需要的一些东西,而不是所有的东西


约翰还谈到避免“闪亮综合症”,你知道,当你开始做某件事,然后看到一种新的更闪亮的方式!在工作进行到一半时,你会看到另一个更加闪亮的框架。。。等等这是一个很滑的斜坡,你永远不会以这种方式完成任何事情!如果你已经找到了一个框架来完成这项工作,那就坚持下去吧!所以要回答为什么使用一个框架而不是另一个框架的问题,是为了避免闪亮综合症

在提问之前先阅读每个框架的介绍页怎么样?