当使用Kotlin BeanDefinitionDsl将bean添加到上下文时,似乎没有调用@PostConstruct方法。
这在我自己的项目中发生在我身上,但创造了一种简单的方法来重现它,这就是我所做的。
所以你需要做的就是分叉我的回购并做一个gradle run。
我的问题是:
如果你不想拉我的回购,这里有更多关于我做了什么的细节。我将此添加到UserHandler类:
fun beans() = beans {
bean<UserHandler>()
// ...
}
以及导入和Gradle依赖。
使用bean DSL中的bean方法调用将UserHandler bean拉入上下文,如下所示:
beans().initialize(context)
并将其带入上下文:
$ssh -T github@github.com
答案 0 :(得分:3)
GenericApplicationContext
类中实例化的 Application
不支持开箱即用@PostContruct
。要使其有效,您应该使用AnnotationConfigApplicationContext
代替并删除Gradle版本中spring-aop
的排除。