Spring 创建beanfactory对象的不同方法有哪些?

Spring 创建beanfactory对象的不同方法有哪些?,spring,jakarta-ee,Spring,Jakarta Ee,(我发现只有第二种类型,我可以指定要使用的父配置文件。) 我有3种加载beanfactory的方法,我想知道它们之间的区别。 如果可能的话,我如何在所有这些方法中定义父配置文件?应用程序上下文是从BeanFactory接口派生的,因此它具有BeanFactory的所有功能,还具有额外的功能,下面的部分在Spring官网中: MessageSource,提供对i18n风格消息的访问。 访问资源,如URL和文件。 事件传播到实现ApplicationListener接口的bean。 加载多个(分层

(我发现只有第二种类型,我可以指定要使用的父配置文件。)

我有3种加载beanfactory的方法,我想知道它们之间的区别。
如果可能的话,我如何在所有这些方法中定义父配置文件?

应用程序上下文是从BeanFactory接口派生的,因此它具有BeanFactory的所有功能,还具有额外的功能,下面的部分在Spring官网中: MessageSource,提供对i18n风格消息的访问。 访问资源,如URL和文件。 事件传播到实现ApplicationListener接口的bean。 加载多个(分层)上下文,允许每个上下文都集中在一个特定的层上,例如应用程序的web层。

正如您所说,有些代码使用BeanFactory,有些代码使用ApplicationContext,实际上没有什么不同,但有一点,由于ApplicationContext的额外功能,它将更加繁重,可以处理事务和aop,它将非常适合在容器环境中使用,例如Tomcat和其他。
您可以在这里找到更多信息,特别是第3.8.1节BeanFactory或ApplicationContext?

BeanFactory层次结构显示在图像中

请注意,这些都是接口,一个接口可以有多个实现,因此对应不同的获取bean的方法


这里有一个不同的列表

BeanFactoryApplicationContext都是从springIOC容器中获取bean的方法,但仍然有一些不同


BeanFactory是实例化、配置和管理多个bean的实际容器。这些bean通常相互协作,因此它们之间存在依赖关系。这些依赖关系反映在BeanFactory使用的配置数据中


BeanFactoryApplicationContext都是Java接口,ApplicationContext扩展了BeanFactory。它们都是使用XML配置文件进行配置的。简而言之,BeanFactory提供基本的控制反转(IoC)和依赖项注入(DI)功能,而ApplicationContext提供高级功能

BeanFactory由接口“org.springframework.beans.factory”表示,其中BeanFactory有多个实现

ClassPathResource=newclassPathResource(“appConfig.xml”);

XmlBeanFactory工厂=新的XmlBeanFactory(资源)
您实际上在做什么?您是在这里配置Spring,还是在程序中获取应用程序上下文的引用?您想知道beanfactory和applicationcontext之间的区别?我想从xml文件访问bean对象。因此,beanfactoryobj.getBean(“id”)返回对应bean的对象。但是在一些站点中,他们使用上下文而不是使用beanfactory…最后,我需要了解使用它们之间的区别。。。
1. BeanFactory fac=new ClassPathXmlApplicationContext("Spring-Config.xml"); 

2. Resource res=new Classpathresource("Spring-Config.xml");
    BeanFactory fac=new XmlBeanFactory(res);
3. ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Config.xml");