我查看了一些有关Contextloaderlistener和应用程序上下文的文档,并据此了解到我理解的是,应用程序上下文是由ContextLoaderListener初始化的容器,并加载所有spring配置文件。我不清楚的是哪一个负责根据提供的元数据创建bean。是ContextLoaderListener还是应用程序上下文。

最佳答案

ApplicationContext使用BeanFactory创建bean,这是将xml /注释变成类并管理每个类的生命周期的实际组件。

当spring在另一个容器(例如servlet引擎,例如tomcat)中运行时,将使用ContextLoaderListener来检测应用程序的启动并初始化ApplicationContext。当在另一个上下文中使用spring时(例如,通过main方法运行的java程序),应用程序可以直接创建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();


}
}

10-04 11:18