【发布时间】:2008-10-21 04:24:10
【问题描述】:
我很幸运能够从 Grails 重新开始。但是,很多人问我如何将 Groovy 和/或 Grails 添加到旧版 Java/JSP Web 应用程序中。对于如何最好地将 Groovy 和 Grails 包含到大型遗留应用程序中,人们是否有经验或建议?
【问题讨论】:
我很幸运能够从 Grails 重新开始。但是,很多人问我如何将 Groovy 和/或 Grails 添加到旧版 Java/JSP Web 应用程序中。对于如何最好地将 Groovy 和 Grails 包含到大型遗留应用程序中,人们是否有经验或建议?
【问题讨论】:
这篇 IBM Developerworks 文章详细介绍了 how to use Grails with your legacy database。
GRAG - the Grails Application Generator 是一个可以帮助将遗留数据库映射到 grails 域对象的工具。这是一个方便的工具,可以帮助您生成映射类。
第三种选择是不将 Grails 用于 gorm/domain 层。相反,因为它与 Java 配合得非常好,您可以创建 call your existing legacy Java code for business logic and persistence 的服务。
我希望其中一种方法对您有用。
【讨论】:
我见过的一件事是使用 Grails 作为企业 Java 应用程序的管理界面。这不完全是您所要求的,因为没有集成。只有一组需求很容易在 Grails 中快速划分和开发。实际上,它们是独立的应用程序,但使用相同的数据。
【讨论】:
我发现这篇文章描述了如何将 Groovlets 和 gsp 用于 工作,指定 web.xml 更新和所需的 jar 文件 项目。
http://www.ibm.com/developerworks/java/library/j-pg03155
我将以下 jar 文件添加到我的项目中,并且 groovlet 可以正常工作。
groovy-1.5.7.jar
asm-2.2.jar
antlr-2.7.6.jar
我还没有 gsp 的工作。
【讨论】:
我将从在 jsps 和 grails 应用程序之间共享数据模型开始(grails 可以使用普通的 Java 类和 hibernate 配置运行,所以如果您已经在使用 hibernate,那么重用 hibernate 类应该不难) .然后我会将每个 jsp/servlet 按原样 迁移到 grails。如果您已经在使用 spring,它应该会让事情变得更容易,因为您可以共享相同的应用程序上下文。
根据应用程序的大小和其他要求,重写整个内容可能会更好,特别是如果旧版应用程序不使用 spring 或 hibernate。
【讨论】:
我想这取决于“添加 grails/groovy”到应用程序的含义——因为 grails 是一个完整的堆栈,如果“添加”是指用新的替换旧的,那么可能值得重写它。
【讨论】:
正如其他人所说,Grails 是一个完整的堆栈,因此将 Grails 添加到现有 Java 应用程序可能不是您想要的。然而,将 Java 添加到现有的 Grails 应用程序是微不足道的。将 Groovy 添加到现有的 Java 应用程序可能也不会太难。
这在很大程度上取决于您所谈论的 Java 应用程序的类型。 Grails 是基于 Spring MVC、Hibernate 和类似的标准 Java 技术构建的,因此如果您的 Java 应用程序使用所有这些技术,则可以使用一些遗留 Java 代码轻松地将应用程序转换为 Grails。
【讨论】: