在遗留Java / JSP Web应用程序中使用Groovy / Grails
题
我很幸运能够用Grails重新开始。但是,很多人问我如何将Groovy和/或Grails添加到遗留的Java / JSP Web应用程序中。人们是否有关于如何将Groovy和Grails最佳地包含在大型遗留应用程序中的经验或建议?
解决方案
这篇IBM Developerworks文章详细介绍了如何在遗留数据库中使用Grails 。
可以帮助将旧数据库映射到grails域对象的工具是 GRAG - Grails Application Generator 一>。它是一个方便的工具,可以帮助您生成映射类。
第三种选择是不将Grails用于gorm / domain层。相反,因为它可以很好地与Java一起使用,所以您可以创建调用您现有的旧Java代码的服务用于业务逻辑和持久性。
我希望其中一种方法适合你。
其他提示
我见过的一件事是使用Grails作为Enterprise Java应用程序的Admin界面。这不完全是你问的,因为没有集成。只有一组需求可以在Grails中快速分区和开发。实际上它们是单独的应用程序,但使用相同的数据。
我首先在jsps和grails app之间共享数据模型(grails可以运行普通的Java类和hibernate配置,所以如果你使用hibernate已经很难重用hibernate类了) 。然后我将每个jsp / servlet 按原样迁移到grails。如果您已经使用spring,那么它应该会让事情变得更容易,因为您可以共享相同的应用程序上下文。
根据应用程序的大小和其他要求,重写整个内容可能会更好,特别是如果遗留应用程序不使用spring或hibernate。
我发现这篇文章描述了如何获取Groovlets和gsp 工作,指定web.xml更新和所需的jar文件 项目
http://www.ibm.com/developerworks/java/library/j-pg03155
我将以下jar文件添加到我的项目中并且groovlet工作。
常规-1.5.7.jar结果 ASM-2.2.jar结果 ANTLR-2.7.6.jar
我还没有gsp工作。
我想这取决于“add grails / groovy”的意思。到一个应用程序 - 因为grails是一个完整的堆栈,如果通过“添加”你的意思是用旧的替换旧的,那么它可能值得重写它。
就像其他人所说的那样,Grails是一个完整的堆栈,所以将Grails添加到现有的Java应用程序可能不是你想要的。但是,将Java添加到现有的Grails应用程序是微不足道的。将Groovy添加到现有的Java应用程序中可能也不会太难。
这很大程度上取决于您所谈论的Java应用程序的类型。 Grails是基于Spring MVC,Hibernate和类似的标准Java技术构建的,所以如果你的Java应用程序正在使用所有这些,可以很容易地将应用程序转换为带有一些遗留Java代码的Grails。