Java spring在读取xml后如何识别bean需要实现为beanfactory样式或applicationcontext样式
我是否可以为ApplicationContext.xml指定不同的名称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文件名,因此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
extendsBeanFactory
-实现将它们的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>