Grails领域类的初始化
-
25-09-2019 - |
题
我的Grails应用程序有在spring/resources.groovy
定义的以下的Spring bean
calendarService(CalendarService) { bean ->
bean.initMethod = "init"
}
此方法看起来是这样的:
class CalendarService {
void init() {
User.findByEmail("foo@doo.com")
}
}
当我打电话动态取景器findByEmail
我得到一个MissingMethodException
。我的猜测是,我试图调用此方法太早,域类不得不加入到他们的元类的动态发现者即之前。一个解决办法是从CalendarService.init()
调用Bootstrap.init
自己,而不是指示Spring来称呼它,但有一个更好的解决方案?
谢谢, 唐
没有正确的解决方案
其他提示
您说的没错,在这个帖子描述,如果您需要动态方法,你最好与BootStrap.groovy中去。
BootStrap {
def calendarService
def init() {
calendarService.init()
}
}
下面的工作没有任何配置在resources.groovy
class CalendarService {
@PostConstruct
private void init() {
User.findByEmail("foo@doo.com")
}
}
不隶属于 StackOverflow