我的Grails应用程序在spring/resources.groovy
calendarService(CalendarService) { bean ->
bean.initMethod = "init"
}
此方法类似于:
class CalendarService {
void init() {
User.findByEmail("foo@doo.com")
}
}
当我调用动态查找器findByEmail
时,我得到MissingMethodException
。我的猜测是我试图过早地调用这个方法,即在域类将动态查找器添加到其元类之前。一个解决方案是从CalendarService.init()
调用Bootstrap.init
,而不是指示Spring调用它,但是有更好的解决方案吗?
谢谢, 唐
答案 0 :(得分:3)
你是对的,如本post所述,如果你需要动态方法,最好使用BootStrap.groovy
BootStrap {
def calendarService
def init() {
calendarService.init()
}
}
答案 1 :(得分:0)
以下工作在resources.groovy
class CalendarService {
@PostConstruct
private void init() {
User.findByEmail("foo@doo.com")
}
}