我有一个 Spring 驱动的应用程序并且想要集成 groovy。具体来说,我有一个带有一组抽象方法定义的抽象 java 类和一个使用自动装配的存储库。
这个类必须由几个最终的 groovy 外部类(每个客户端一个)来实现。
此时,我以这种方式在 java 中调用 Groovy 类:
final Class parsedClass = groovyClassLoader.parseClass(groovyFile);
final GroovyObject groovyObject = (GroovyObject) parsedClass.newInstance();
final Object response = groovyObject.invokeMethod(methodName, methodParameters);
问题是我需要在每个 Groovy 外部类中自动装配存储库变量,但目前为空。
当我在运行时创建它时,如何通知 Groovy 类以获取 inyected 存储库变量?
谢谢!
编辑
Y 已经使用 groovyObjectObject 的 setProperty 方法解决了这个问题:
groovyObject.setProperty("myRepository", myRepositoryImpl);