繁体   English   中英

使用Spring-MVC后端服务的Grails应用

[英]Grails app using services from spring-mvc backend

我们有一个相当复杂的Web应用程序,它是使用spring-mvc和maven构建系统编写的,并且希望利用Grails的所有功能来实现前端。 因此,Grails应用程序本质上将调用spring-mvc应用程序的服务层以访问其业务逻辑和数据。

我需要从某种程度上指导我的体系结构集成方法。 根据我的理解,我将需要: -将spring-mvc应用程序添加为BuildConfig.groovy中的编译依赖项。 -在conf / spring / resources.groovy中将服务层对象作为服务bean公开,并将其注入到我的控制器中

问题:我的spring-mvc应用程序具有很多自己的依赖项(显然必须具有),这会导致很多依赖项错误。 我是否应该在配置中设置“ transitive = false”并在Grails应用中调用所有这些? 应该如何配置数据源? 我想我必须通过从Grails applicationContext调用它来集成spring-mvc应用程序的applicationContext,并希望它能很好地进行引导?

因此,Grails应用程序本质上将调用spring-mvc应用程序的服务层以访问其业务逻辑和数据

您能否更具体地说明要从Grails使用Spring MVC的哪些组件,仅仅是服务和数据源?

我将需要在BuildConfig.groovy中将spring-mvc应用程序添加为编译依赖项

在我的conf/spring/resources.groovy中将服务层对象公开为服务bean

尽管您可以通过在resources.groovy单独定义它们来使Grails应用知道Spring Bean,但这不是必需的,因为您已经在Spring MVC项目的Spring XML文件中(大概)定义了它们。

相反,您可以使用BeanBuilder的importBeans方法将在此XML文件中定义的Spring bean导入Grails应用程序。 将Spring MVC项目添加为Grails应用程序的依赖项后,Spring XML文件应位于类路径中,因此您要做的就是将以下内容添加到resources.groovy

beans = {
    importBeans('classpath:/path/to/file/applicationContext-services.xml')
}

应该如何配置数据源?

一个名为dataSource的Spring bean定义了Grails应用程序使用的数据源。 在标准Grails应用程序中,将基于DataSource.groovy的配置创建此bean。 如果您的Spring MVC应用程序使用此名称定义了一个bean,那么在进行以上更改之后,应使用它来代替。 为确保Grails使用的是Spring MVC应用程序中的DataSource.groovy ,而不是DataSource.groovy任何内容,我想您可以删除后者的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM