2

Java/Spring にあるサービス層で (Groovy にある) grails ドメイン クラスを使用するにはどうすればよいですか。

Grails MVC を使用する場合は、コントローラーを使用してドメイン オブジェクトにアクセスし、それらに対して CRUD やその他の動的メソッドを呼び出すことができるため、すべて問題ありません。しかし、私が疑問に思っているのは、Java からそれを行うためのクリーンな方法があるということです。たとえば、サービス層です。たとえば、ドメイン オブジェクトを使用して DB にアクセスする必要があるレポート フレームワークを開発したい場合があります。

質問が明確であることを願っています。これは、妥当な規模のプロジェクトで誰もが直面する標準的な問題です。私はそれがどのように解決されているのか疑問に思っています..多分私はここに何かが欠けています.

ありがとう。

4

3 に答える 3

2

org.codehaus.groovy.runtime.InvokerHelper を使用すると、これが非常に簡単になります。このメーリング リストのスレッドを参照してください。

于 2010-04-26T22:34:57.530 に答える
1

サンプル コード スニペット:

import my.package.User
import org.codehaus.groovy.runtime.InvokerHelper;


List allInstances = (List)InvokerHelper.invokeMethod(User.class, "list", null)); 


User one=(User)InvokerHelper.invokeMethod(User.class, "get", id); 
于 2014-12-03T13:25:05.380 に答える
0

GORM クラスにアクセスできる場合InvokerHelperは、GORM 呼び出しの周りにラッパー関数を配置すると、Java クラスがそれを認識します。

static String List getAll() { return User.list() }
static String User getByID(long id) { return User.get(id) }

これはすっきりしているように見え、Java コード内の Groovy クラスに依存することはありません。

于 2016-08-11T14:45:11.827 に答える