0

我想从注入的服务初始化命令字段。

所以我需要在完全初始化之后执行命令的方法,但 params分配给字段之前。

我该怎么做?好的,我可以在构造函数中手动获取 Service bean。有更好的办法吗?

没有运气@PostConstructInitializingBean- 看起来 Command 不是 bean,对吧?

圣杯 1.3.5

4

1 回答 1

1

你是对的命令不是一个bean。您可以通过服务方法实例化命令实例并在那里进行初始化并将实例返回给控制器。然后使用返回的实例调用控制器的 bindData,如下所示:

// controller code
def myService // injected

def action = {
    def command = mySerivce.createCommandInstance() 
    bindData(command, params)
}

// service code
class MyService {
    def createCommandInstance() {
       def cmd = new MyCommand()
       doSomeInitializationWithCommand(cmd)
       return cmd
    }
}
于 2011-07-02T19:55:48.670 回答