ApplicationContextAware在春天的实际应用

时间:2014-10-10 11:50:16

标签: spring applicationcontext

我有机会使用spring只处理一个项目,它的工作方式是

  1. 创建一个单例类(比如说MySpringHelper),它有像getBean(String beanName)这样的方法
  2. getBean(String)的作用是,它首先检查applicationContext的存在,如果它存在则使用相同来获取bean,否则创建新的applicationContext并返回bean
  3. 无论你在哪个项目中都需要一个bean,只需调用MySpringHelper.getBean(" abc")
  4. 牢记这一点,当我学习春天时,我注意到界面" ApplicationContextAware" ......我不确定什么时候需要它,使用上面的模式这样的界面似乎没什么用。或者上面的Singleton MySpringHelper模式/方法是不正确的?

    期待从您的经验中学习

    要提供有关应用程序的更多详细信息,它就像一个pdf文件生成器,1个pdf文件有12-15个不同的图表,所以main方法为每个图表运行1个线程,在这些图表逻辑中我们使用单例MySpringHelper

1 个答案:

答案 0 :(得分:1)

为什么要检查applicationContext的存在?如果您的帮助bean在xml中配置并且其中包含setter方法,那么它应该存在。在这种情况下,无需创建应用程序上下文。

对于您的情况,我建议您使用Spring注入applicationContext而不是使用ApplicationContextAware。