Ответ 1
Grails не может впрыскивать, когда есть круговые ссылки. Вы действительно должны получать исключение по строкам FactoryBean is not fully initialized yet
. Там JIRA вопрос об этом, где они заявили, что они не будут исправлять это, поскольку это больше связано с Spring, чем с Grails (http://jira.grails.org/browse/GRAILS-5080)
Однако есть обходное решение, которое цитируется в JIRA, и я могу проверить, работает ли с Grails 2.0.RC1. В SecondService сделайте это protected def firstService
и добавьте def grailsApplication
ниже, а затем добавьте метод def initialize() { this.firstService = grailsApplication.mainContext.firstService }
. Наконец, в BootStrap.groovy добавьте def firstService
, а затем в закрытие init
добавьте secondService.initialize()
. Не очень красивое решение, но все это будет подходить так, как вы хотите.