gpt4 book ai didi

Grails 依赖注入(inject)问题

转载 作者:行者123 更新时间:2023-12-02 15:39:00 25 4
gpt4 key购买 nike

在 Grails 中对服务使用依赖注入(inject)时遇到问题。

class ExampleService{

def example2Service
def example3Service

def method1(){
def result = example2Service.method2()
}

}

class ExampleService{
def example3Service

def method2(){

def result = example3Service.method3()
return result
}

}

class Example3Service{

def method3(){
return true
}

}

基本上在 Example2Service 中,尝试在 Example3Service 中调用 method3 时出现空指针异常。

我将不胜感激任何人都可以在这个问题上给我的任何帮助

谢谢

最佳答案

依赖注入(inject)需要初始化。 (这同样适用于其他类型的运行时元编程,例如用它们的 save()validate() 方法扩充域类。)

Grails 应用程序将在以下时间初始化

  • grails run-app 运行命令
  • 在部署到 Web 服务器后运行
  • grails test-app 运行命令(仅限集成测试;单元测试不会触发初始化)。

  • 涉及的类未初始化时
  • 执行单个 Groovy 文件(即,通过使用 groovygroovyshgroovyConsole)
  • 或者在执行单元测试时。

  • 以下作为集成测试应该可以工作:
    class Test2ServiceTests extends GroovyTestCase {
    def test2Service

    void testMethod2() {
    assert test2Service.method2() == true
    }
    }

    关于Grails 依赖注入(inject)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010707/

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