Spring从入门到精通—IOC之BeanFactory与ApplicationContext区别

Posted 共饮一杯无

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring从入门到精通—IOC之BeanFactory与ApplicationContext区别相关的知识,希望对你有一定的参考价值。

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

启动 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>

以上是关于Spring从入门到精通—IOC之BeanFactory与ApplicationContext区别的主要内容,如果未能解决你的问题,请参考以下文章

Java之Spring入门到精通IDEA版IoC和DI注解开发(一篇文章精通系列)

Java之Spring入门到精通IDEA版Spring的IoC和DI(一篇文章精通系列)

Java之Spring入门到精通IDEA版Spring的IoC和DI(一篇文章精通系列)

Spring 从入门到精通系列 03——使用 Spring 的 IOC 解决程序耦合

Spring 从入门到精通系列 06——Spring 中的 IOC 常用注解

Spring 从入门到精通系列框架教程(这个掌握了考试就不怕了)❤️