考虑一些Groovy代码,如:
def trainingCorpus = new CorpusNexmlReader(ignoreMissingTags: true,
model: model, source: corpus,
abideByUse: true, useListSource: true,
listSourceDir: corpus + "/all/",
listSource: corpus + "/all/split_all.txt",
tagMap: tagMap
)
这有助于使用no-args构造函数来创建对象,然后进行调用 到所有与命名参数对应的setter。现在,如果我添加@PostConstruct, Groovy会在所有这些人之后调用它吗?
答案 0 :(得分:4)
不,它不会。 @PostConstruct
仅用于spring bean(由spring上下文实例化,而不是由你实例化)
答案 1 :(得分:2)
来自@PostConstruct注释的javadoc:
“PostConstruct注释用于在完成依赖注入以执行任何初始化之后需要执行的方法。必须在类投入使用之前调用此方法。所有支持的类都必须支持此注释依赖注入“
Groovy不是依赖注入框架。它不会对针对DI框架的注释进行任何处理。如果您使用Groovy的spring builder将bean构建为Spring bean,那么它应该尊重该注释。
或者,您可以自己阅读并处理该注释。