【问题标题】:Injecting BeanFactory into a Bean将 BeanFactory 注入 Bean
【发布时间】:2013-08-31 12:12:22
【问题描述】:

我想将 Spring BeanFactory 注入由同一 BeanFactory 创建的 Bean 有什么办法吗?

顺便说一句,我正在开发一个 Web 应用程序。 如果不是,我知道我可以通过拥有RequestContext 来获得BeanFactory,但是我想注入BeanFactory 的bean 不在requestContext 中,但仍在应用程序上下文中。我可以这样做吗?

【问题讨论】:

    标签: java spring


    【解决方案1】:

    你的 bean 可以实现BeanFactoryAware。通过实现此接口,您的 bean 将通过调用此方法接收BeanFactory

    void setBeanFactory(BeanFactory beanFactory) throws BeansException
    

    顺便说一句,有一个类似的接口 (ApplicationContextAware) 可以在需要时检索ApplicationContext

    【讨论】:

      【解决方案2】:

      如果启用了注释配置模式,那么这应该可以工作

      class Bean
         @Autowired
         BeanFactory factory;
         ...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-15
        • 1970-01-01
        • 2011-09-09
        • 2013-06-25
        • 1970-01-01
        • 2012-02-19
        • 2017-09-22
        相关资源
        最近更新 更多