Groovy是否尊重@PostConstruct?

时间:2011-05-28 20:18:12

标签: java groovy

考虑一些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会在所有这些人之后调用它吗?

2 个答案:

答案 0 :(得分:4)

不,它不会。 @PostConstruct仅用于spring bean(由spring上下文实例化,而不是由你实例化)

答案 1 :(得分:2)

来自@PostConstruct注释的javadoc:

  

“PostConstruct注释用于在完成依赖注入以执行任何初始化之后需要执行的方法。必须在类投入使用之前调用此方法。所有支持的类都必须支持此注释依赖注入“

Groovy不是依赖注入框架。它不会对针对DI框架的注释进行任何处理。如果您使用Groovy的spring builder将bean构建为Spring bean,那么它应该尊重该注释。

或者,您可以自己阅读并处理该注释。