是否仍然需要更改默认的Grails服务命名约定?

是否仍然需要更改默认的Grails服务命名约定?,grails,Grails,我希望创建一个Grails服务,而不使用*Service后缀约定作为类名(例如,命名我的类调度器而不是ScheduleService)。是否存在超越Grails默认行为并将Grails app/service目录中的任何对象视为Grails服务的情况?不认为这是可能的。因为这是grails框架中隐含的“约定”的一部分。不要认为这是可能的。因为它是grails框架中隐含的“约定”的一部分。我不这么认为,但是如果原因是您想为bean使用不同的名称,那么您可以尝试为scheduleService注册别

我希望创建一个Grails服务,而不使用*Service后缀约定作为类名(例如,命名我的类调度器而不是ScheduleService)。是否存在超越Grails默认行为并将
Grails app/service
目录中的任何对象视为Grails服务的情况?

不认为这是可能的。因为这是grails框架中隐含的“约定”的一部分。

不要认为这是可能的。因为它是grails框架中隐含的“约定”的一部分。

我不这么认为,但是如果原因是您想为bean使用不同的名称,那么您可以尝试为scheduleService注册别名。 根据评论,您应该能够将此添加到resources.groovy:

springConfig.addAlias('scheduler','scheduleService')

但是,我自己没有尝试过,在文档中也没有找到任何内容。

我不这么认为,但是如果原因是您想为bean使用不同的名称,您可以尝试为scheduleService注册别名。 根据评论,您应该能够将此添加到resources.groovy:

springConfig.addAlias('scheduler','scheduleService')

不过,我自己还没有尝试过,也没有在文档中找到任何东西。

Grails服务是通过插件注册为bean的,信不信由你,所以你应该可以通过创建自己的插件来实现这一点

看一看。您可以看到,监视的服务通过以下线路硬连接:

def watchedResources = ["file:./grails-app/services/**/*Service.groovy",
                        "file:./plugins/*/grails-app/services/**/*Service.groovy"]
现在,尽管这是可能的,它可能需要一些工作,这可能是一个坏主意。我真的不知道。我不知道如果你从本质上复制了服务插件,更改了
watchedResources
并将其打包到你自己的插件中,Grails是否会发疯

我只是浏览了一下grails文档,关于的部分也应该很有用

如果您只是想寻找一种更简单的方式来参考您的服务,请执行以下操作:

def painfullyLongNameService
def getNoPain() {return painfullyLongNameService}

noPain.yourServiceFunction()

相信与否,Grails服务注册为带有插件的bean,因此您应该能够通过创建自己的插件来实现这一点

看一看。您可以看到,监视的服务通过以下线路硬连接:

def watchedResources = ["file:./grails-app/services/**/*Service.groovy",
                        "file:./plugins/*/grails-app/services/**/*Service.groovy"]
现在,尽管这是可能的,它可能需要一些工作,这可能是一个坏主意。我真的不知道。我不知道如果你从本质上复制了服务插件,更改了
watchedResources
并将其打包到你自己的插件中,Grails是否会发疯

我只是浏览了一下grails文档,关于的部分也应该很有用

如果您只是想寻找一种更简单的方式来参考您的服务,请执行以下操作:

def painfullyLongNameService
def getNoPain() {return painfullyLongNameService}

noPain.yourServiceFunction()

当然可以,只需在resources.groovy中执行即可

scheduler(YourCustomSchedulerClassname){ b->
    // config
}
那么你可以在其他任何地方做

class MyService {
    def scheduler
}

当然可以,只需在resources.groovy中执行即可

scheduler(YourCustomSchedulerClassname){ b->
    // config
}
那么你可以在其他任何地方做

class MyService {
    def scheduler
}