質問

私の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自分自身を呼び出すことであろうが、よりよい解決策はありますか?

おかげで、 ドン

正しい解決策はありません

他のヒント

このポストするで説明したように、あなたが必要な場合は、

あなたは、正しいですあなたがより良いBootStrap.groovy

と一緒に行きたい動的メソッド
BootStrap {
    def calendarService
    def init() {
        calendarService.init()
    }
}

resources.groovy

のいずれかの設定なしに、次の作品を
class CalendarService {

    @PostConstruct
    private void init() {
        User.findByEmail("foo@doo.com")
    }   
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top