类[]的方法在Grails应用程序之外使用

以前关于此错误的问题是指hibernate版本问题或运行测试.我认为这不是这种情况.

在Grails服务课程中,我有

private static User anon = User.findByUsername('anonymous')

这就是创建错误

Caused by IllegalStateException: Method on class [User] was used outside of a Grails application. If running in the context of a test using the mocking API or bootstrap Grails correctly.

我试图用存储在数据库中的对象实例化私有静态属性,但我必须做一些非常错误的事情.感谢您的任何帮助,建议和指示.

解决方法

将其设置为静态是不可行的,因为这将在加载服务类时尝试进行findByUsername调用,这是在GrailsApplication初始化过程完成之前.最早可以可靠地调用GORM方法是在BootStrap时,所以我倾向于在这些情况下做的是在服务上创建一个初始化方法,然后从BootStrap init闭包调用方法.

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...