Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有一个公共的SpringApplicationContextProvider供所有bean spring托管或其他方式使用_Java_Spring - Fatal编程技术网

Java 有一个公共的SpringApplicationContextProvider供所有bean spring托管或其他方式使用

Java 有一个公共的SpringApplicationContextProvider供所有bean spring托管或其他方式使用,java,spring,Java,Spring,我有一个ApplicationContextProvider类,可用于从非Spring管理的bean访问Spring ApplicationContext。有点像我提到的 但是,对于spring管理的bean,我可以使它们具有ApplicationContextAware,这样它们就可以访问ApplicationContext 我的问题是,使用公共ApplicationContextProvider从spring托管bean获取spring应用程序上下文是一个好主意,还是应该继续使用Applic

我有一个ApplicationContextProvider类,可用于从非Spring管理的bean访问Spring ApplicationContext。有点像我提到的

但是,对于spring管理的bean,我可以使它们具有ApplicationContextAware,这样它们就可以访问ApplicationContext


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

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

在从EJB2.1迁移到Spring的过程中,我曾经在一个项目中重新发明了这个解决方案,但在迁移之后,我们摆脱了它,可以再次睡觉了

回到你的问题上来——对Spring管理的bean使用这样的实用程序毫无意义。老实说,我很少需要
ApplicationContextAware
接口。Spring应该注入依赖项,您不应该一直要求Spring提供依赖项

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