5

我在尝试从 spring 使用构造函数参数实例化的 bean 中的 spring 应用程序上下文创建 bean 时遇到问题。

我已经实现了ApplicationContextAware接口,但它在创建实例后填充了上下文(很明显)。

但是,如果您需要从构造函数中获取 bean,并且我说的是在运行时定义的可变数量的对象,那么正确的方法是什么?

4

2 回答 2

5

在 Spring 实例化的 bean 中,不是在 Constructor 中初始化它,而是在专用方法中初始化它,标记为 Spring 的“init-method”。

您的效果与在构造函数中初始化的效果大致相同,但您使用的是正确的 Spring 生命周期。

于 2009-10-16T08:37:27.413 回答
3

您可以利用面向方面的编程使构造函数可访问上下文。Spring 对此有特殊支持 - @Configurable(preConstruction = true)

随意阅读更多关于弹簧参考 - 6.8.1。使用 AspectJ 通过 Spring 依赖注入域对象

于 2009-10-16T09:50:25.117 回答