Spring整理系列(03)——spring容器ApplicationContext初始化(spring应用上下文初始化)
2016-08-06 22:01
441 查看
可以通过以下三种方式加载spring容器,实现bean的扫描与管理:
web.xml配置listener方式实现加载:
web.xml配置servlet方式实现加载:
注意:
在spring MVC中,一般需要同时使用上面两种方式,servlet方式负责配置controller等view层,listener方式负责配置service、dao等model层。
关于ContextLoaderListener和DispatcherServlet的关系与区别,可以详细看看下面的延伸文章(似懂非懂,暂时不做整理):
源码层面
原理层面(总结版)
应用层面
另外:关于web容器(servlet容器)加载spring容器及关系介绍:在servlet中注入spring的bean,servlet容器和spring容器
-BeanFactory提供配置结构和基本功能,加载并初始化Bean
-org.springframework.context
-ApplicationContext保存了Bean对象并在Spring中被广泛使用
1、 ClassPathXmlApplicationContext:从类路径中加载
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-context.xml"); context.start();
2、 FileSystemXmlApplicationContext: 从文件系统加载
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("E:\\spring-context.xml"); context.start();
3、 XmlWebApplicationContext:从web系统中加载
即把spring容器加载到servlet容器(web容器)中,所以需要在web.xml文件中配置servlet或者listener的方式,实现spring容器的加载web.xml配置listener方式实现加载:
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-context.xml</param-value> </context-param>
web.xml配置servlet方式实现加载:
<servlet> <servlet-name>springServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/spring-mvc*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
注意:
在spring MVC中,一般需要同时使用上面两种方式,servlet方式负责配置controller等view层,listener方式负责配置service、dao等model层。
关于ContextLoaderListener和DispatcherServlet的关系与区别,可以详细看看下面的延伸文章(似懂非懂,暂时不做整理):
源码层面
原理层面(总结版)
应用层面
另外:关于web容器(servlet容器)加载spring容器及关系介绍:在servlet中注入spring的bean,servlet容器和spring容器
4、补充:spring容器初始化使用到的基础包、类以及作用
-org.springframework.beans-BeanFactory提供配置结构和基本功能,加载并初始化Bean
-org.springframework.context
-ApplicationContext保存了Bean对象并在Spring中被广泛使用
相关文章推荐
- spring容器ApplicationContext初始化(spring应用上下文初始化)
- Spring应用、原理以及粗读源码系列(一)--框架总述、以Bean为核心的机制(IoC容器初始化以及依赖注入)
- spring容器ApplicationContext初始化(spring应用上下文初始化)
- spring容器外的组件获得应用上下文的方法
- 初始化IoC容器(Spring源码阅读)-我们到底能走多远系列(31)
- spring容器中的bean工厂和应用上下文
- Spring4.3.x 容器在web应用中的初始化过程
- Spring系列之-Spring IOC容器设计:IOC容器初始化-Bean注册
- Spring系列【03】应用构造器注入法实现Bean的注入
- Spring容器初始化数据(数据库)BeanPostProcessor的应用
- Spring系列之-Spring IOC容器设计:IOC容器初始化-IOC容器Resource定位
- Spring系列之-Spring IOC容器设计:IOC容器初始化-BeanDefinition解析
- Spring基础篇——Spring容器和应用上下文理解
- [Spring实战系列](5)Spring应用上下文
- Spring整理系列(16)——通过单元测试理解spring容器以及dubbo+zookeeper单元测试异常处理
- Spring整理系列(16)——通过单元测试理解spring容器以及dubbo+zookeeper单元测试异常处理
- 【Spring】初始化Spring IoC容器(非Web应用),并获取Bean
- 博文整理(编程技术深入解剖系列--Spring技术,实体框架)
- spring学习笔记整理--03(Spring的三种实例化Bean的方式)
- spring IOC容器实例化Bean的方式与RequestContextListener应用