Как под капотом Грааля попадает экземпляр cassandraTemplate? - PullRequest
0 голосов
/ 09 апреля 2019

Cassandra Low-level API

Плагин предоставляет API более низкого уровня это основано на проекте Spring Data Cassandra.

Spring Data Cassandra предоставляет CassandraTemplate с методами для выполнять операторы, используя обычный драйвер Java Cassandra

Чтобы получить экземпляр cassandraTemplate внутри контроллера или Сервис просто определяет свойство cassandraTemplate. Примером может быть видно ниже:

def cassandraTemplate

def myAction = {
        def people = []
        people << new Person(firstName: "Fred", lastName: "Flintstone")
        people << new Person(firstName: "Barney", lastName: "Rubble")
        cassandraTemplate.insert(people)
}

1 Ответ

2 голосов
/ 09 апреля 2019

Из документов :

Основы внедрения зависимостей

Ключевым аспектом сервисов Grails является возможность использования функций внедрения зависимостей Spring Framework. Grails поддерживает «внедрение зависимостей по соглашению». Другими словами, вы можете использовать представление имени свойства имени класса службы, чтобы автоматически внедрять их в контроллеры, библиотеки тегов и т. Д.

В качестве примера приведен сервис под названием BookService, если вы определяете свойство с именем bookService в контроллере следующим образом:

class BookController {
    def bookService
    ...
}

В этом случае контейнер Spring автоматически внедрит экземпляр этой службы на основе настроенной области действия. Все внедрения зависимостей выполняются по имени. Вы также можете указать тип следующим образом:

class AuthorService {
    BookService bookService
}
...