Java 使用SpringMVC后端服务的Grails应用程序
我们有一个相当复杂的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应用程序作为编译依赖项 对 在myJava 使用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中将服务层对象作
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应用程序的服务层。谢谢你,唐!