【问题标题】:Java Web Framework, for a new projectJava Web 框架,用于新项目
【发布时间】:2011-09-15 20:30:56
【问题描述】:

我要开始一个新的 JAVA Web 项目,但不知道要使用什么框架。对于那些有更多经验的人,我会提到我期望从框架中获得的关键功能

  1. MVC
  2. 已经成熟(最少 2 年)
  3. 记录良好(一周后我应该确切知道在哪里可以找到任何东西),最终如果您可以为该框架推荐一本好书。
  4. 已经对 M(odelling)提供了很好的支持,例如 Grails(具有它们之间关系的域类)之类的东西,或者更复杂的东西,例如事务、Hibernate 支持……
  5. 可扩展,非常重要。
  6. 学习并不难(4 周即可很好地理解框架)。

【问题讨论】:

    标签: java web-frameworks


    【解决方案1】:

    鉴于您的要求,我不得不推荐 Spring。坦率地说,这个框架不会出错——它有一个非常强大的开发社区和一个完整的技术堆栈。学习曲线比 Tapestry 稍微陡峭一些,但是您正在寻找一种约定优于配置的解决方案,而这些解决方案需要更长的时间来学习。话虽如此,让一个 Spring 应用程序站起来不应该花费超过一周的时间,即使对于新手来说也是如此。当然,学习框架的进出需要更长的时间。

    Spring Framework - Wikipedia

    SpringSource

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      你有很多选择,在这里讨论了很多:

      https://*.com/questions/1360963/best-java-rad-web-framework

      Best Web applications framework for Java?

      https://*.com/questions/309254/best-java-mvc-framework-implementation-for-web-apps

      我个人推荐 Spring MVC - 易于与 Hibernate(JPA 实现)连接以管理事务、域类、控制器等。也可以与大多数流行的 web ui 框架链接。

      认为它几乎可以很好地满足您的所有要求,除了可能 6。因为它在学习方面不像 Grails(使用约定优于配置)那样轻量级,因此您需要了解 xml 配置等。但我认为 Roo 会让你顺利上路——尤其是如果你已经有 Java 的背景

      如果你想要 RAD 的东西,也可以查看 Spring Roo。

      【讨论】:

        【解决方案3】:

        Play! Framework

        我一直在使用 Play!框架最后几个月了,我真的很喜欢。它的开发周期很短——只需保存源文件并在浏览器中更新网页,因为它是自动编译的。该框架易于理解并且具有良好的文档。而且它重量轻,性能好。

        它既可以使用Netty(推荐)部署,也可以作为任何 Servlet 容器上的 war-file 部署,例如GlassFish 或 Jetty。

        【讨论】:

        • 它是否可扩展?它有可靠的 ORM 吗?
        • @Andrei:它可能比任何其他 Java Web 框架都更具可扩展性,例如请参阅jtict.com/blog/rails-wicket-grails-play-lift-jsp,它是无国籍的。它支持多种ORM,默认为JPA/Hibernate。
        【解决方案4】:

        我使用 Grails。有一些陷阱,但总的来说它非常易于使用。

        【讨论】:

        • 我真正不喜欢的是没有类型安全。 Grails 的可扩展性如何?
        • 是的,您会在使用 Grails 时遇到更多运行时类型问题,但这些问题可以通过良好的测试实践来解决。我个人很少使用def 声明,更喜欢强类型。 Groovy 的优势之一。 Grails 具有很强的可扩展性。
        • 而且,我不喜欢 Eclipse 或 Netbeans 对 Grails 的支持不是最好的。在 Netbeans 中,自动完成和重构支持非常弱。你用什么IDE?