之间有什么区别
@Shared
MyObject myObject = new MyObject()
和
MyObject myObject
def setupSpec() {
myObject = new MyObjec()
}
为什么我应该在第二个例子中使用@Shared注释?两者都只创建过一次,不是吗?
在第二个例子中,您可能会得到以下错误:
错误:(22,9)Groovyc:只有@共享和静态字段可以从这里访问
所以你可以选择其中一个选项:
-
在单行中使用
@Shared
注释和init字段@Shared MyObject myObject = new MyObject()
-
在单行中使用
static
和init字段static MyObject myObject = new MyObject()
-
在
setupSpec
方法中使用@Shared
注释和init字段@Shared MyObject myObject def setupSpec() { myObject = new MyObject() }
-
在
setupSpec
方法中使用static
和init字段static MyObject myObject def setupSpec() { myObject = new MyObject() }