Как лучше всего работать с сервисами в Grails - PullRequest
3 голосов
/ 13 января 2011

Я только начал проект на Grails и не нашел, как работать со службами, используя внедрение зависимостей и интерфейсы.

Как я уже видел в документации при создании службы -это просто классный класс, который может быть автоматически подключен везде, где я хочу.

Но что, если я хочу иметь интерфейс для сервиса и внедрить одну из его реализаций, как я делал в Java, используя spring?

например, я хочу иметь сервисный интерфейс.пусть это будет MyService.groovy, у него будет 1 метод doSmth (), и у меня будет 2 реализации - MyServiceImpl1.groovy и MyServiceImpl2.groovy

У меня есть кварцевая работа, выполняющая что-то вроде этого def myService myService.doSmth ()

Куда мне поставить Groovy интерфейс (папку)?Должен ли я создать пакет для этого в src / groovy?Как настроить resources.groovy для связи «myService» с 1 реализацией сервиса?

Любые мысли приветствуются

Заранее спасибо!

Ответы [ 2 ]

12 голосов
/ 13 января 2011

Запуск grails create-service [name] - это удобный способ развертывания службы, но он не создает интерфейс с реализацией, как вы ищете.

Я бы предложил поместить ваш интерфейс и реализации в src/groovy и использовать resources.groovy для их соединения (вы можете получить доступ к среде, если вы хотите развернуть другую реализацию по среде).

Посмотрите раздел «Использование Spring DSL» в главе 14.2 руководства пользователя , чтобы узнать, как подключить ваш сервис к resources.groovy. У вас также есть возможность использовать resources.xml, если вы хотите подключиться к XML, но я определенно рекомендую Groovy DSL.

0 голосов
/ 13 января 2011

Просто запустите Grails Create-Service [имя]

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