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 解决程序耦合