Grails常见问题解答是这样说的:
问:如何从 src/groovy 中的源访问域类?
有时,您正在开发一些位于 src/groovy 中的实用程序类,并且您打算 > 从服务和其他工件中使用它们。但是,由于这些类是由 Grails 预编译的,因此无法实例化它们并编写诸如 Book.findByTitle("Groovy in >Action") 之类的东西。但幸运的是,有一种解决方法,因为可以这样做:
导入 org.codehaus.groovy.grails.commons.ApplicationHolder
//…</p>
def book = ApplicationHolder.application.getClassForName("library.Book").findByTitle("Groovy in Action")
应用程序必须在动态 Gorm 方法正常运行之前完成引导。
但是,看来我可以直接导入域对象并在我的 src/groovy 类中使用 GORM 方法而没有任何问题,例如:
Book.findByTitle("Groovy in Action")
由于 ApplicationHolder 已被弃用,因此该建议肯定已过时,但仍有任何理由避免直接从 src/groovy 使用域类吗?