我查看了Contextloaderlistener
和应用程序上下文的一些文档,并根据我的理解,Application Context是由ContextLoaderListener
初始化的容器,并加载所有spring配置文件。我不清楚的是哪一个负责基于提供的元数据创建bean。是ContextLoaderListener
还是应用程序上下文。
答案 0 :(得分:3)
答案 1 :(得分:1)
ApplicationContext使用BeanFactory创建bean,这是将xml / annotations转换为类并管理每个类的生命周期的实际组件。
当spring在另一个容器(例如像tomcat之类的servlet引擎)中运行时,使用ContextLoaderListener来检测应用程序的启动并初始化ApplicationContext。当spring在另一个上下文中使用时 - 例如java程序通过main方法运行 - 应用程序可以直接创建AppContext而不需要像这样的ContextLoaderListener:
public class Main {
public static void main(String[] args) throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"context.xml");
Foo foo = (Foo) ctx.getBean("fooBean");
foo.doSomethingCool();
} }