Java Spring contextloaderlistener在bean创建中的角色

Java Spring contextloaderlistener在bean创建中的角色,java,spring,Java,Spring,我查看了Contextloaderlistener和应用程序上下文的一些文档,根据这些文档,我了解到应用程序上下文是由Contextloaderlistener初始化的容器,并加载所有spring配置文件。我不清楚的是,根据提供的元数据,谁负责bean的创建。是ContextLoaderListener还是应用程序上下文。使用创建bean,它是将xml/注释转换为类并管理每个类的生命周期的实际组件 当spring在另一个容器(如tomcat等servlet引擎)中运行时,可以使用ContextL

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

使用创建bean,它是将xml/注释转换为类并管理每个类的生命周期的实际组件

当spring在另一个容器(如tomcat等servlet引擎)中运行时,可以使用ContextLoaderListener来检测应用程序的启动并初始化ApplicationContext。当spring在另一个上下文中使用时(例如通过主方法运行的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();
} }使用创建bean,它是将xml/注释转换为类并管理每个类的生命周期的实际组件

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

Spring中ApplicationContext背后的思想是 要在需要的地方正确地注入对象,需要做一些事情 了解用户指定并注入的配置 依赖项基于此配置。 ApplicationContext是理解用户的 关于注射地点和注射内容的愿望,以及 其他东西,比如AOP切入点等等,都是基于 用户通过xml文件或 注释。 以servlet[servlet名称]-context.xml命名的上下文 是WebApplicationContext,是主应用程序的子上下文 ApplicationContext,由contextConfigLocation中列出的文件创建,并由ContextLoaderListener加载。这个 子级可以访问父级中定义的任何bean,但父级具有 无法访问子系统中定义的bean ContextLoaderListener是一个ServletListener。因此,在JSP/Servlet规范中,容器在确定 事件发生了。在这种情况下,当 ServletContext是为web应用程序创建的。当它变得 调用,在它将创建/实例化的ContextLoaderListener内 一个ApplicationContext,并加载到使用 上下文参数名称和值标记。 contextConfigLocation参数与此参数一起使用 Spring listener org.springframework.web.context.ContextLoaderListener ContextLoaderListener执行侦听器的引导,以 启动Spring的根WebApplicationContext ContextLoaderListener是一个启动Spring容器的类。 基本上,每个Spring应用程序都由几个bean和 连接声明性描述哪些bean相互依赖。 这段描述历史上是用XML编写的,现在我们已经知道了 注释、Java配置、类路径扫描等。 ContextLoaderListener读取该文件,查找您的类, 实例化它们和导线。然后将所有的豆子放在一个容器中 容器 Spring中ApplicationContext背后的思想是 要在需要的地方正确地注入对象,需要做一些事情 了解用户指定并注入的配置 依赖项基于此配置。 ApplicationContext是理解用户的 关于注射地点和注射内容的愿望,以及 其他东西,比如AOP切入点等等,都是基于 用户通过xml文件或 注释。 以servlet[servlet名称]-context.xml命名的上下文 是WebApplicationContext,是主应用程序的子上下文 ApplicationContext,由contextConfigLocation中列出的文件创建,并由ContextLoaderListener加载。这个 子级可以访问父级中定义的任何bean,但父级具有 无法访问子系统中定义的bean ContextLoaderListener是一个ServletListener。因此,在JSP/Servlet规范中,容器在确定 事件发生了。在这种情况下,当 ServletContext是为web应用程序创建的。当它变得 调用,在它将创建/实例化的ContextLoaderListener内 一个ApplicationContext,并加载到使用 上下文参数名称和值标记。 contextConfigLocation参数与此参数一起使用 SpringListener org.springframework.web.context.C ontextLoaderListener ContextLoaderListener执行侦听器的引导,以 启动Spring的根WebApplicationContext ContextLoaderListener是一个启动Spring容器的类。 基本上,每个Spring应用程序都由几个bean和 连接声明性描述哪些bean相互依赖。 这段描述历史上是用XML编写的,现在我们已经知道了 注释、Java配置、类路径扫描等。 ContextLoaderListener读取该文件,查找您的类, 实例化它们和导线。然后将所有的豆子放在一个容器中 容器
@Vaishu13:你找到了消除你的歧义的答案了吗?如果不一样,请与我们分享。@Vaishu13:您找到了消除歧义的答案吗?如果不同,请与我们分享。