Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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 您发现Spring和Hibernate Web应用程序成功了吗_Java_Hibernate_Spring - Fatal编程技术网

Java 您发现Spring和Hibernate Web应用程序成功了吗

Java 您发现Spring和Hibernate Web应用程序成功了吗,java,hibernate,spring,Java,Hibernate,Spring,我正在开发中型web应用程序4-5个选项卡,用户登录量约为10万。我们正在从头开始重新设计应用程序,并使用连接到MySQL的spring和hibernate 您是否遇到过重大问题以及Spring对您的应用程序有何好处。显然,在java框架世界以及Rails或Django之类的东西中,有无数种方法可以构建这样的应用程序 对我来说,一个很大的卖点是spring和hibernate都已经成为java世界的实际标准,因此它们绝对符合“你应该知道的事情”(每次面试都会问我)。春天比冬眠更重要 获得spri

我正在开发中型web应用程序4-5个选项卡,用户登录量约为10万。我们正在从头开始重新设计应用程序,并使用连接到MySQL的spring和hibernate


您是否遇到过重大问题以及Spring对您的应用程序有何好处。

显然,在java框架世界以及Rails或Django之类的东西中,有无数种方法可以构建这样的应用程序

对我来说,一个很大的卖点是spring和hibernate都已经成为java世界的实际标准,因此它们绝对符合“你应该知道的事情”(每次面试都会问我)。春天比冬眠更重要

获得spring的价值需要一些支持spring的应用程序,然后才对我有意义。它强制执行独立的代码模块和某种风格的组件设计,以方便测试。我建议你跟着它走,从使用中体会它的价值

我对Hibernate的感觉很复杂,尽管使用某种db层很重要,所以您也可以这样做


另请参见

无重大问题。Spring特别有利于:

  • 使所有配置一致且简单
  • 依赖注入支持更好的代码分解
  • Hibernate的声明性“在视图中打开会话”功能
  • 声明性事务划分
  • Acegi(现在的SpringSecurity)项目使集成自定义安全模型变得很容易
  • Spring数据访问支持消除了任何JDBC访问中对大量样板文件的需求——也许对Hibernate的使用没有什么促进作用,但我们将两者混合使用。它还允许您非常无缝地一起使用JDBC和Hibernate

除了到目前为止所说的,我将重点介绍Spring(例如@Controller)和Hibernate(例如@Entity)的新样式注释。它将进一步减少您的代码库,从而使您需要维护的代码更少。不利的一面是,有一个非常重要的学习曲线,但最终我一次又一次学到的教训是,Spring+Hibernate的好处远远超过(学习曲线)的成本。您只需编写更少的代码,就可以专注于业务。

+1 Spring+hibernate

10万用户不是中等规模……这是巨大的

使用spring,您可以强制编码器对接口进行编码,从而提高可测试性。这是我没有听到人们谈论太多的好处


看看memcached到缓存的数据….

正如Julien Chastang所说,如果这是你的第一个项目,你需要在估计中考虑学习曲线。我们在第一次尝试时没有做到这一点,结果不得不调整我们的很多计划,因为Hibernate的几个方面“很难”(例如,花了一些时间)弄清楚


根据我们遇到的一个问题,我可以给出一条具体的建议:如果您需要编写复杂的SQL,并且不想花时间研究如何在HQL或Hibernate中的其他产品中使用此类查询,首先让它在香草SQL中工作,然后再返回,并将其修补回Hibernate。

在Hibernate的某些情况下,创建特定对象到关系映射或编写特定HQL查询非常困难。但是,在10个数据库中,您将遇到1个这样的问题,数据库越规范,您的情况就越好。这是值得的


任何新的Java web项目都应该使用Spring MVC(带注释的2.5+版本)和Hibernate。

Hibernate和Spring有很大的理解开销。如果您有足够的时间或有经验的java/spring/hibernate开发人员可以访问,我建议您使用它。在spring项目中,一旦开始,基本上可以忽略它的spring部分,而专注于页面和逻辑设计。冬眠并不难。HQL是一个更难的问题。我的大部分时间都花在bean和JSF级别上。将我的项目的这一层与一些在JSP中胡闹的同事进行比较,我很高兴能够轻松地使用JSF。我很容易从MySQL的初始实现切换到Oracle,这证明Hibernate可以很好地处理抽象。

从技术上讲,我已经使用spring、Hibernate和这两种工具部署了数量从数千到几十万的商业应用程序

从管理的角度来看,在一个案例中,我有一个团队是优秀的技术专家,所以他们设法用spring和hibernate重写了一个应用程序,但是。。。他们疯狂地使用接口(模型中的每个新对象都需要16个接口),滥用AOP,因此事务和日志几乎无法跟踪,堆栈跟踪毫无意义,使用工具映射hibernate文件,而不完全了解正在执行的操作(在某些情况下,为了可能是一个简单的实体而连接4个表,以及各种各样的问题,使得最终的应用程序更难增强、调试、修复,甚至设置开发人员的环境……)


我的2c

除了到目前为止所说的,我强烈建议这本书:,再加上非常好的在线文档,你应该准备好征服世界;-)

10万用户同时或总共,这是个问题;)