我们有一个Java / Spring / Hibernate代码库,它是我们相当大的平台的核心。我们还有很多单独的Java Web应用程序(Struts或Spring MVC),它们引用核心系统,从中引入applicationContext和服务。
我们需要构建另一个也引用相同核心系统的webapp,所以我希望用Grails做到这一点。从我发现它看起来你可以轻松地将遗留的Java代码包装起来,将它放在Grails项目的lib目录中并以这种方式引用它。
http://www.itexto.net/devkico/?p=333
不幸的是,这对我不起作用,因为我需要从我的Grails应用程序引用正在运行的核心系统及其服务,因为您将从另一个Java应用程序引用Java应用程序。有没有办法做到这一点,或者Grails是不可能的?
任何信息都会有所帮助......
谢谢,
贾斯汀。
答案 0 :(得分:1)
请参阅Grails+Spring integration上的文档。当你让Spring在Grails中工作时,接下来的步骤应该已经是标准的Spring。
由于您还没有详细说明,现有的Struts和Spring MVC应用程序如何“引入applicationContext和services ”我无法对细节发表评论。但是,它应该与现有应用程序的方式类似。
编辑:检查this question对如何整理Spring bean的回答。
答案 1 :(得分:1)
我会考虑在Spring服务/ bean之上构建一个 Service Layer 。这是Martin Fowler的企业应用程序架构模式一书中记录的模式。从本质上讲,您需要一个包装Spring服务(您的业务逻辑)的薄层,可以通过Web服务调用或通过Web应用程序进行某种远程调用。这将允许您在不同的进程中托管您的应用程序,但仍然能够在它们之间进行通信,而无需将所有内容破解到同一个Web容器中,并找出如何引用相同的运行进程。