Java spring在读取xml后如何识别bean需要实现为beanfactory样式或applicationcontext样式

Java spring在读取xml后如何识别bean需要实现为beanfactory样式或applicationcontext样式,java,spring,Java,Spring,我是否可以为ApplicationContext.xml指定不同的名称 正如我在这里看到的答案,我们可以更改applicationcontext文件名,因此spring如何识别它是applicationcontext还是beanfactory?是的!您只需在web.xml中进行更改(如果您使用的是web应用程序) 上下文配置位置 /WEB-INF/Spring/applicationContext-services.xml org.springframework.web.context.Con

我是否可以为ApplicationContext.xml指定不同的名称


正如我在这里看到的答案,我们可以更改applicationcontext文件名,因此spring如何识别它是applicationcontext还是beanfactory?

是的!您只需在web.xml中进行更改(如果您使用的是web应用程序)


上下文配置位置
/WEB-INF/Spring/applicationContext-services.xml
org.springframework.web.context.ContextLoaderListener
是,您可以: 您可以在此处找到几个有关如何执行此操作的示例:


这些方法与web容器以及独立应用程序有关。

文件名无关紧要。如果需要,可以将其命名为foo.xml

创建的
ApplicationContext
的类型取决于其创建方式

例如,如果您在
web.xml
中使用
ContextLoaderListener
,那么它将创建一个
XmlWebApplicationContext
(除非您指定要使用的其他类)

如果以编程方式创建上下文,则指定要创建的上下文类型


在正常情况下,您将始终创建一个
ApplicationContext
,而不是
BeanFactory
ApplicationContext
extends
BeanFactory
-实现将它们的
BeanFactory
方法委托给它们包含的私有
BeanFactory

你指的是哪个“名称”?@skaffman实际上我不知道spring是如何知道它的BeanFactory还是ApplicationContext的。以前我认为,名字只意味着
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/Spring/applicationContext-services.xml
    </param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>