【问题标题】:spring how to get BeanFactory from Application Contextspring 如何从应用程序上下文中获取 BeanFactory
【发布时间】:2021-03-29 08:03:41
【问题描述】:

我是春天的初学者。 今天在看spring core文档的时候,发现1.3章节有如下说明。 Bean Overview

除了包含有关如何创建特定 bean 的信息的 bean 定义之外,ApplicationContext 实现还允许注册在容器外部(由用户)创建的现有对象。这是通过 getBeanFactory() 方法访问 ApplicationContext 的 BeanFactory 来完成的,该方法返回 BeanFactory DefaultListableBeanFactory 实现。 DefaultListableBeanFactory 通过 registerSingleton(..) 和 registerBeanDefinition(..) 方法支持这种注册。但是,典型的应用程序只使用通过常规 bean 定义元数据定义的 bean。

我在IDEA中用下面的代码实例化了一个ApplicationContext对象,但是发现这个对象没有getBeanFactory()方法:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("test.xml");

我看的文档是5.3.5版本的spring,我用的是同版本的spring。

我猜是不是spring改变了ApplicationContext类而忘记修改文档了。 还是我实例化的对象有问题?

提前致谢!

【问题讨论】:

  • ApplicationContextBeanFactory,它将委托给一个内部的。您可以使用getAutowireCapableBeanFactory 或使用ConfigurableApplicationContext 而不是ApplicationContext 来访问getBeanFactory 方法。

标签: java spring


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 2017-02-14
    相关资源
    最近更新 更多