在我的grails应用程序中,我有Java类(src / java)。我想访问我的域类并直接从Java类中使用GORM功能(如get(),findBy ...,save(),delete()等)。我知道,我可以在Spring IoC上做到这一点:例如,可以在我的Java类中添加grails服务:

public class SimpleJavaClass{

    //...

    @Autowired
    private ExampleService exampleService;

    //...
}

并在Spring之前连接此类的每个实例:
//...

GrailsApplication grailsApplication

//...

def simpleAction(){
    def instance = new SimpleJavaClass()
    grailsApplication.mainContext.autowireCapableBeanFactory.autowireBean(instance)
}

但是,是否有更合适的方法可以做到这一点?

最佳答案

使用Grails 2.0,当前的唯一方法是将域类打包到二进制插件中(请参阅http://grails.org/doc/2.0.x/guide/single.html#binaryPlugins)

然后,您可以依赖此二进制插件,并且由于它是预编译的,因此Java代码将看到许多GORM方法,这些方法已连接到字节代码中

07-26 02:58