Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat 在grails中将服务传递给非服务?_Tomcat_Grails_Groovy_Junit_Autowired - Fatal编程技术网

Tomcat 在grails中将服务传递给非服务?

Tomcat 在grails中将服务传递给非服务?,tomcat,grails,groovy,junit,autowired,Tomcat,Grails,Groovy,Junit,Autowired,我有一个非服务类,其定义如下: class A{ B b A( B b ){ this.b = b } } 其中B是grails服务。在我的单元测试中,我尝试了以下方法: aa=新的A(新的B()) 然而,由于某些原因,b从未被设置,并且在运行测试时,变量b[local,mehod的参数]在Intelli-J的调试器中甚至不可见。也就是说,我可以将参数重命名为service,调试器将其显示为未定义 当我尝试启动一台服务器时,我发现bean的初始化失败;嵌套异常是java.lang.

我有一个非服务类,其定义如下:

class A{
   B b
   A( B b ){ this.b = b }
}
其中B是grails服务。在我的单元测试中,我尝试了以下方法:

aa=新的A(新的B())

然而,由于某些原因,
b
从未被设置,并且在运行测试时,变量
b[local,mehod的参数]
在Intelli-J的调试器中甚至不可见。也就是说,我可以将参数重命名为
service
,调试器将其显示为未定义

当我尝试启动一台服务器时,我发现bean的
初始化失败;嵌套异常是java.lang.reflect.MalformedParameterizedTypeException
,因此我假设这是相关的


这是怎么回事?

这似乎是个奇怪的场景。A在做什么?A真的是一种服务吗

我建议您创建一个A服务,在这种情况下,您可以按照正常用法将B服务注入其中


我不认为执行“new B()”是有效的,除非B对任何东西都没有依赖性(自动连接字段)。也许在测试中注入B会更好?

这有帮助吗?你可能是对的。它看起来应该是一种服务。