Как определить название сервиса в граалях? - PullRequest
0 голосов
/ 02 апреля 2011

В Grails, когда вы создаете сервис, у него есть имя класса.Поэтому, если я создаю CategoryService, в контроллере я добавляю 'def categoryService' в контроллере.

Но как определить имя, отличное от класса.Пример: «mycategorySvc»?

Спасибо

Ответы [ 2 ]

4 голосов
/ 02 апреля 2011

Вы должны подключить его самостоятельно в файле spring / resources.groovy. Тем не менее, я бы не рекомендовал делать подобные вещи по нескольким причинам

  1. Сокращение слова "Служба Svc" ничего вам не даст
  2. Другие разработчики Grails, просматривающие ваш код через 6 месяцев, скажут: «WTF?»

Я бы хотел услышать аргумент для MyCategorySvc через MyCategoryService.

И кстати, первый бит не имеет значения (MyCatagory). Это не должно соответствовать домену. Единственное, что требуется для автоматического впрыска - это слово «Сервис» в конце. Вы можете создать сервис с именем JooHooBooDooService и просто выбросить его в CategoryController.

0 голосов
/ 29 октября 2015

Я полагаю, вы столкнулись с другой проблемой кастинга, но просто чтобы ответить на вопрос. Способ сделать это - определить наш bean-компонент в resources.groovy.

Предположим, у меня есть QuestionAnswerService вместо questionAnswerService Имя, которое я хотел qns , поэтому я определю bean-компонент qns в resources.groovy

 beans = {
    qns(QuestionAnswerService){ 
    }
 }

и просто введите мой сервис с таким именем в любом контроллере и сервисе, как

def qns

вот и все, у меня есть qns с именем bean-компонента QuestionAnswerService, внедренный

Надеюсь, это поможет. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...