У меня есть служба данных GORM:
@Service(Album)
abstract class AlbumService {
abstract Album findByName(String name)
}
... классы, в которых я ее использовал ...
class Social {
AlbumService albumService
...
}
class Media {
AlbumService albumService
...
}
... и плагин для внедрения бинов:
class SomeGrailsPlugin extends Plugin {
...
Closure doWithSpring() {
{ ->
social(com.test.Social) {
albumService = ref('albumService')
}
media(com.test.Media) {
albumService = ref('albumService')
}
}
}
}
... и это работает! Но только в одном случае (если удалить Media ). В следующих случаях я получаю это сообщение:
Описание:
Для компонента требуется компонент с именем 'albumService', который не может быть найден.
Действие:
Подумайте об определении bean-компонента с именем 'albumService' в вашей конфигурации.
Да, я знаю, что служба данных не является бином, и ее нужно внедрять другими способами ( контекст приложения или hibernateDatastore.getService ()). Но почему это работает в первом случае, а не во втором?