尝试使用构造函数参数在spring实例化的bean中创建Spring应用程序上下文时出现问题。
我已经实现了ApplicationContextAware
接口,但它在创建实例后填充了上下文(显而易见)。
但是,如果你需要从构造函数中获取bean,并且我在谈论在运行时定义的可变数量的对象,那么正确的方法是什么?
答案 0 :(得分:5)
在Spring实例化的bean中,不是在构造函数中初始化它,而是在专用方法中初始化它,标记为Spring的“init-method”。
与构造函数中的初始化效果大致相同,但是您使用的是正确的Spring生命周期。
答案 1 :(得分:3)
您可以通过构造函数利用面向方面的编程来访问上下文。 Spring特别支持 - @Configurable(preConstruction = true)。
欢迎在春季参考资料中阅读更多相关信息 - 6.8.1. Using AspectJ to dependency inject domain objects with Spring