Я создал java-сервис / файл в каталоге src моего проекта grails, и я определил его в bean-компонентах resources.groovy.
beans = {
elasticsearchConfigManager(ElasticsearchConfigManager){}
accounts(AccountsService){}
}
Я могу добавить это в один измои перехватчики просто пишут "defasticsearchConfigManager" и используют метод внедренного сервиса java без каких-либо исключений.
Кроме того, я могу внедрить его в один из моих сервисов grails.Но в случае этого, когда я пытаюсь использовать свойство внедренного класса, я получаю исключение Null Pointer.
@Transactional
Class AccountService{
def elasticsearchConfigManager
def index(params){
def action=params.get("task")
return this."${action}"(params)
}
def getAccountById(params){
def indexName=params.get("service")
def docId=params.get("accountId")
try{
GetResponse hit=elasticsearchConfigManager.elasticsearchClient.prepareGet(indexName, "_doc", docId).get()
....}
Здесь я получаю исключение :asticsearchConfigManager.символ в Intellij).
Однако, когда я внедряю следующим образом, он работает без исключения.
defasticsearchConfigManager = Holders.getGrailsApplication (). getMainContext (). getBean("asticsearchConfigManager ")
В чем может быть вероятная причина?Мне просто интересно узнать.Помощь будет оценена!:)
Структура каталогов: 