Приложение Spring Boot, которое использует Groovy для JDBC

У меня есть приложение весенней загрузки, которое предоставляет API ReST. Я рассматриваю разгрузку всех операций чтения SQL в Groovy SQL. Источник данных настраивается в Spring. Я хотел бы Groovy использовать этот источник данных. Кстати, будет несколько объектов DataSource (подключающихся к различным базам данных).

Каков наилучший подход для этого - я хочу лучшее из обоих миров (DI и отличная простота). Приложение должно быть в Spring (по причинам проекта) и будет развернуто на сервере WebLogic с использованием источников данных, определенных в WebLogic.

Моя идея состоит в том, чтобы вызвать метод Groovy, как показано ниже, из метода контроллера ReST Spring-boot:

/student/id
Student getStudentDetails(int id){
    @Autowired
    @Qualifier("someDataSource");
    DataSource myDs;
    Student student = GroovySqlUtil.findStudentById(id, myDs); // pass the DS to Groovy sothat GrooySQL can use the DS for executing queries.
    return student;
}

Есть ли способ лучше? Может ли Groovy напрямую обрабатывать источники данных (несколько DD)? В этом случае я не буду инициализировать источник данных в конфигурации Spring.

Там нет требования для транзакций, JPA и т. Д. Это чисто операции чтения SQL.

1 ответ

Решение

На самом деле Groovy, Java, Gradle и Spring-boot можно смешивать без каких-либо проблем. Я создаю новый сервис ReST в классе Groovy и использовал groovy.Sql. Все отлично работает

Просто, что файл сборки Gradle нуждается в конфигурации ниже:

sourceSets {
    main {
        groovy {
            // override the default locations, rather than adding additional ones
            srcDirs = ['src/main/groovy', 'src/main/java'] 
        }
        java {
            srcDirs = [] // don't compile Java code twice 
        }
    }
}

А также иметь пакет groovy в компонентном сканировании основного класса конфигурации Spring.

Другие вопросы по тегам