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会更好?这有帮助吗?你可能是对的。它看起来应该是一种服务。