2010-05-11 92 views
2

我的Grails應用從spring/resources.groovyGrails領域類的初始化

calendarService(CalendarService) { bean -> 
    bean.initMethod = "init"  
} 

定義瞭如下的Spring bean這種方法看起來是這樣的:

class CalendarService { 
    void init() { 
     User.findByEmail("[email protected]") 
    } 
} 

當我調用動態取景器findByEmail我得到一個MissingMethodException。我的猜測是,我想盡早調用這個方法,即在域類有動態發現者添加到他們的元類之前。一種解決方案是從Bootstrap.init自己撥打CalendarService.init(),而不是指示Spring來調用它,但有沒有更好的解決方案?

謝謝, 唐

回答

3

你是對的,因爲在這個post描述,如果你需要的動態方法,你最好與BootStrap.groovy中去,沒有任何

BootStrap { 
    def calendarService 
    def init() { 
     calendarService.init() 
    } 
} 
0

以下作品config in resources.groovy

class CalendarService { 

    @PostConstruct 
    private void init() { 
     User.findByEmail("[email protected]") 
    } 
}