Spring を利用したアプリがあり、groovy を統合したいと考えています。具体的には、一連の抽象メソッド定義を持つ 1 つの抽象 Java クラスと、autowired で注入された 1 つのリポジトリがあります。
このクラスは、いくつかの最終的な groovy 外部クラス (クライアントごとに 1 つ) によって実装する必要があります。
現時点では、Java で Groovy クラスを次のように呼び出しています。
final Class parsedClass = groovyClassLoader.parseClass(groovyFile);
final GroovyObject groovyObject = (GroovyObject) parsedClass.newInstance();
final Object response = groovyObject.invokeMethod(methodName, methodParameters);
問題は、各 Groovy 外部クラスでリポジトリ変数を自動配線する必要があるが、現在は null であることです。
実行時に作成するときに、inyected リポジトリ変数を取得するように Groovy クラスに通知するにはどうすればよいですか?
ありがとう!
編集
Y は、このように groovyObjectObject の setProperty メソッドを使用して解決しました。
groovyObject.setProperty("myRepository", myRepositoryImpl);