0

ReST API を公開する spring-boot アプリケーションがあります。すべての SQL 読み取りを Groovy SQL にオフロードすることを検討しています。DataSource は Spring で構成されます。Groovy でこの DataSource を使用したいと考えています。ところで、複数の DataSource オブジェクトが存在します (異なるデータベースに接続しています)。

これに最適なアプローチは何ですか-両方の世界(DIとグルーヴィーなシンプルさ)のベストが欲しいです。アプリケーションは (プロジェクト上の理由から) 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 に答える