使用Grails 2.2.1
我定义了以下Grails服务:
package poc
class TestService {
def helperService
}
class HelperService {
}
Run Code Online (Sandbox Code Playgroud)
我使用了TestService如下(resources.groovy):
test(poc.TestService) {
}
jmsContainer(org.springframework.jms.listener.DefaultMessageListenerContainer) {
connectionFactory = jmsConnectionFactory
destinationName = "Test"
messageListener = test
autoStartup = true
}
Run Code Online (Sandbox Code Playgroud)
一切都有效,除了自动注入helperService之外,正如Grails创建服务时所期望的那样.我可以让它工作的唯一方法是手动注入它如下:
//added
helper(poc.HelperService) {
}
//changed
test(poc.TestService) {
helperSerivce = helper
}
Run Code Online (Sandbox Code Playgroud)
问题是它没有像Grails那样注入方式.我的实际服务非常复杂,如果我必须手动注入所有内容,包括所有依赖项.
我在Mongo DB 3.0文档中有以下文档结构:
{
id: "ID",
name: "NAME",
items:[
{
id:"100",
name:"Item Name",
fields:[
{a:"field 1", b:44},
{a:"field 2", b:56},
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要将"字段2"更新为值72,以便结果如下:
{
id: "ID",
name: "NAME",
items:[
{
id:"100",
name:"Item Name",
fields:[
{a:"field 1", b:44},
{a:"field 2", b:72},
]
}
]
}
Run Code Online (Sandbox Code Playgroud)