问题标签 [grails-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
222 浏览

grails - Grails 2 和 Grails 3 从其他类调用私有方法

我在 grails 2.5.4 和 grails 3.3.2/3/4 中观察到一种奇怪的行为。

我觉得和面临的问题是它们允许一个类调用另一个类的私有方法,并且一直持续到最新版本的 grails。

但是我发现唯一的区别是,在 grails 2.5.4 中,它能够检测到注入到被调用类中的所有依赖项,而在 grails 3.3.x 中没有注入依赖项,这是正确的,但不应在类外部调用整体私有方法按照java

0 投票
1 回答
54 浏览

grails - Grails:从外部库注册作业

我需要将 grails 服务分离到一个专用的图书馆中,以便在许多应用程序中使用该服务。这对服务本身很好,因为我可以在resources.groovy(请参阅https://docs.grails.org/latest/guide/spring.html)中注册服务 bean。

该服务碰巧使用石英作业来定期触发某些功能。所以很自然我会把这个工作移到库中,并需要在主应用程序中注册它。怎样才能做到这一点?谢谢你的时间!

0 投票
1 回答
370 浏览

grails - Grails:运行插件时服务未注入控制器

我正在创建一个 Grails (3.3.9) 插件来保存一些内部应用程序的共享后端代码。出于某种原因,当我运行插件来测试它时,我的服务没有被注入到我的控制器中。

我从默认的 web 插件配置文件开始,创建了一个名为 Entry 的域类,然后运行 ​​generate-all 来创建控制器、服务和视图。当我尝试将插件作为应用程序运行并查看单个域实例时,我收到以下错误:

堆栈跟踪将我带到控制器中的第 18 行:

这向我表明这entryService是空的。

我的域类如下所示:

控制器如下:

服务看起来像这样:

根据 Grails 插件文档,我希望能够像任何其他应用程序一样独立运行插件,并且在普通应用程序中,将服务定义为接口可以正常工作。如果我将此插件安装到我的本地 maven 缓存并在应用程序中使用它,它会完全按照我的预期工作;我能够访问控制器的show端点并从我的数据库中取回结果。

有一次我尝试将服务实现为一个类,而不是让它成为一个接口,但后来我收到了这个错误:

关于如何正确设置和运行 Grails 插件,我缺少什么?

0 投票
0 回答
13 浏览

grails-controller - Web Flows 在 Grails 4 中仍然存在吗

我正在研究Grails 4.0.9并考虑尝试使用Web Flow编写应用程序来管理多部分问卷表单,但我很难找到任何最新的文档。

Grails 2.4.3曾经有Spring Web Flow 插件,但该项目自 2015 年以来没有任何更新。

Spring Web Flow 的最新稳定版本是 2.5.1,于 2018 年 9 月发布。

所以在我看来,网络流不再是一回事,但我也没有看到任何文档说“改用这个”。

但是,Grails 4.0.9 文档第13.2 章 Scoped Services确实提到了 Service 类可以具有对话范围,Spring Web Flow 插件的文档中也提到了这些范围。不幸的是,似乎没有任何关于正确使用这些范围的文档:最重要的是,如何启动、更新和终止流程?

所以我一直在这里追自己的尾巴吗?Web Flow 在现代 Grails 4.x 应用程序中仍然存在吗?如果是,我应该怎么做?如果不是,是否有替代方法或者我应该开始创建自己的解决方案?