0

我有公开 ReST API 的 spring-boot 应用程序。我正在考虑将所有 SQL 读取卸载到 Groovy SQL。数据源在 Spring 中配置。我希望 Groovy 使用这个数据源。顺便说一句,会有多个 DataSource 对象(连接到不同的数据库)。

什么是最好的方法 - 我想要两全其美(DI和groovy简单)。该应用程序必须在 Spring 中(出于项目原因),并将使用 WebLogic 定义的数据源部署在 WebLogic 服务器中。

我的想法是从 Spring-boot 的 ReST 控制器方法中调用 Groovy 方法,如下所示:

/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 配置中初始化 DataSource。

对事务、JPA 等没有要求。它是纯 SQL 读取操作。

4

1 回答 1

0

事实上,Groovy、Java、Gradle 和 Spring-boot 可以混合使用,没有任何问题。我在 Groovy 类中创建了一个新的 ReST 服务并使用了 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 
        }
    }
}

并且在主 Spring 配置类的组件扫描中也有 groovy 包。

于 2015-07-28T11:19:27.147 回答