BeanFactory是Spring框架中IoC容器的顶层接⼝,它只是⽤来定义⼀些基础功能,定义⼀些基础规范,⽽ApplicationContext是它的⼀个⼦接⼝,所以ApplicationContext是具备BeanFactory提供的全部功能的。
通常,我们称BeanFactory为SpringIOC的基础容器, ApplicationContext是容器的⾼级接⼝,⽐BeanFactory要拥有更多的功能,⽐如说国际化⽀持和资源访问(xml, java配置类)等等 。image.png

启动 IoC 容器的方式

  • Java环境下启动IoC容器
    • ClassPathXmlApplicationContext:从类的根路径下加载配置⽂件(推荐使⽤)
    • FileSystemXmlApplicationContext:从磁盘路径上加载配置⽂件
    • AnnotationConfigApplicationContext:纯注解模式下启动Spring容器
  • Web环境下启动IoC容器

    • 从xml启动容器

      <!DOCTYPE web-app PUBLIC
      "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd" >
      <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <!--配置Spring ioc容器的配置⽂件-->
      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml</param-value>
      </context-param>
      <!--使⽤监听器启动Spring的IOC容器-->
      <listener>
      <listenerclass>
      org.springframework.web.context.ContextLoaderListener
      </listenerclass>
      </listener>
      </web-app>
    • 从配置类启动容器
      <!DOCTYPE web-app PUBLIC
      "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd" >
      <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <!--告诉ContextloaderListener知道我们使⽤注解的⽅式启动ioc容器-->
      <context-param>
      <param-name>contextClass</param-name>
      <param-value>
      org.springframework.web.context.support.AnnotationConfigWebApplicationContext
      </param-value>
      </context-param>
      <!--配置启动类的全限定类名-->
      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>com.zjq.spring.SpringConfig</param-value>
      </context-param>
      <!--使⽤监听器启动Spring的IOC容器-->
      <listener>
      <listenerclass>
      org.springframework.web.context.ContextLoaderListener
      </listenerclass>
      </listener>
      </web-app>

      本文内容到此结束了,
      如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
      如有错误❌疑问💬欢迎各位大佬指出。
      主页共饮一杯无的博客汇总👨‍💻

      保持热爱,奔赴下一场山海。🏃🏃🏃

在这里插入图片描述