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