Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用SpringMVC后端服务的Grails应用程序_Java_Spring_Grails_Spring Mvc - Fatal编程技术网

Java 使用SpringMVC后端服务的Grails应用程序

Java 使用SpringMVC后端服务的Grails应用程序,java,spring,grails,spring-mvc,Java,Spring,Grails,Spring Mvc,我们有一个相当复杂的web应用程序,它是使用SpringMVC和maven构建系统编写的,我们希望在前端利用Grails的所有功能。 因此Grails应用程序本质上将调用spring mvc应用程序的服务层来访问其业务逻辑和数据 我需要一些关于我的体系结构方法的指导,以便在高层次上进行集成。 根据我的理解,我需要; -将我的spring mvc应用程序作为编译依赖项添加到我的BuildConfig.groovy中。 -在我的conf/spring/resources.groovy中将服务层对象作

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

我需要一些关于我的体系结构方法的指导,以便在高层次上进行集成。 根据我的理解,我需要; -将我的spring mvc应用程序作为编译依赖项添加到我的BuildConfig.groovy中。 -在我的conf/spring/resources.groovy中将服务层对象作为服务bean公开,并将它们注入到我的控制器中

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

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

您能否更具体地说明您希望从Grails使用SpringMVC的哪些组件,它只是服务和数据源吗

我需要在BuildConfig.groovy中添加SpringMVC应用程序作为编译依赖项

在my
conf/spring/resources.groovy

尽管您可以通过在
resources.groovy
中单独定义SpringBean来让Grails应用程序了解SpringBean,但这是不必要的,因为您已经在SpringMVC项目中的SpringXML文件(大概)中定义了它们

相反,您可以使用BeanBuilder的功能将此XML文件中定义的SpringBean导入Grails应用程序。一旦您添加了SpringMVC项目作为Grails应用程序的依赖项,SpringXML文件就应该在您的类路径上,因此您所需要做的就是将以下内容添加到
resources.groovy

beans = {
    importBeans('classpath:/path/to/file/applicationContext-services.xml')
}
数据源应该如何配置


名为
dataSource
的Springbean定义了Grails应用程序使用的数据源。在标准的Grails应用程序中,这个bean是根据
DataSource.groovy
中的配置创建的。如果您的SpringMVC应用程序定义了一个具有此名称的bean,那么在进行上述更改后应该使用此名称。为了确保Grails使用的是Spring MVC应用程序中的数据源,而不是
datasource.groovy
中的任何内容,我想您可以删除后者的内容。

如何在Spring services中访问数据库?它是通过依赖注入实现的?数据库访问是通过spring中的数据源bean连接起来的。这正是为什么我觉得在向Grails应用程序公开这一点方面我还有更多的工作要做。一旦我完成了暂时依赖汤的学习,我就按照Don的建议配置了grails应用程序,现在它可以正常工作了。我正在从Grails控制器调用Java应用程序的服务层。谢谢你,唐!