Инициализация класса домена Grails
-
25-09-2019 - |
Вопрос
Мое приложение 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
, Не вместо того, чтобы наставить весну называть это, но есть ли лучшее решение?
Спасибо, Дон
Нет правильного решения
Другие советы
Вы правы, как описано в этом сообщение, Если вам нужны динамические методы, вам лучше пойти с bootstrap.groovy
BootStrap {
def calendarService
def init() {
calendarService.init()
}
}
Следующие работы без какого-либо конфига в resources.groovy
class CalendarService {
@PostConstruct
private void init() {
User.findByEmail("foo@doo.com")
}
}
Не связан с StackOverflow