繁体   English   中英

有一个共同的SpringApplicationContextProvider供所有bean使用spring-managed和其他

[英]Having a common SpringApplicationContextProvider to be used by all bean spring-managed and otherwise

我有一个ApplicationContextProvider类,它可以用来从不受Spring管理的bean访问Spring ApplicationContext。 这里提到的东西

对于spring托管bean,我可以将它们设为ApplicationContextAware,这样他们就可以访问ApplicationContext。

我的问题是,使用常见的ApplicationContextProvider从spring管理的bean获取spring应用程序上下文是一个好主意,还是应该继续使用ApplicationContextAware?

使用带有静态引用应用程序上下文的单例会遇到麻烦。 在任何情况下使用这样的实用程序类几乎都不是一个好主意。 处理遗留Web应用程序时,请改用WebApplicationContextUtils

在从EJB 2.1迁移到Spring期间,我曾经在项目中重新创建了这个解决方案 - 但是在迁移之后我们摆脱它并且可以再次睡眠。

回到你的问题 - 对Spring 托管 bean使用这样的实用程序根本就没有意义。 说实话,我也很少需要ApplicationContextAware接口。 Spring假设注入依赖项,你不应该一直向Spring询问它们!

当您需要引用的实用程序类(托管和非托管bean)时,能否向我们展示一些用例? 看起来你拒绝接受Spring给你的支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM