gpt4 book ai didi

java - Grails:如何从字符串中调用服务和服务名称

转载 作者:行者123 更新时间:2023-12-02 15:48:32 24 4
gpt4 key购买 nike

我想动态地调用服务,以便服务名称将作为字符串值获得,我们可以使用下面的代码列出grails项目中的所有服务名称。

import org.codehaus.groovy.grails.plugins.metadata.GrailsPlugin

for (type in ['service']) {

for (artifactClass in ctx.grailsApplication."${type}Classes") {

def clazz = artifactClass.clazz

def annotation = clazz.getAnnotation(GrailsPlugin)
if (annotation) {
println "$type $clazz.name from plugin '${annotation.name()}'"
}
else {
println "$type $clazz.name from application"
}
}
}

在这里我们将获得该服务的 artifactClass。是否有任何选择可以使用此想法来调用该服务。请帮助我。

最佳答案

您可以从applicationContext获取用于该服务的bean

//inject application context bean
def applicationContext

//to use
applicationContext."${yourServiceName}".serviceMethod()

关于java - Grails:如何从字符串中调用服务和服务名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43385340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com