文档章节

spring容器ApplicationContext初始化(spring应用上下文初始化)

商者
 商者
发布于 2017/07/25 21:04
字数 347
阅读 21
收藏 0

可以通过以下三种方式加载spring容器,实现bean的扫描与管理:

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中被广泛使用

本文转载自:

共有 人打赏支持
商者

商者

粉丝 42
博文 141
码字总数 43255
作品 0
海淀
架构师
私信 提问
深入分析Spring 与 Spring MVC容器

Spring经典详解 Spring事务机制详解 Spring配置事务五种方式 关于Spring加载classpath与classpath*的过程剖析 深入分析Spring 与 Spring MVC容器 Spring系列文章 【第1章 Spring概述与结构】...

陶邦仁
2015/10/30
0
5
Spring mvc 上下文初始化过程

在软件开发的中,如果某些特性的使用比较普遍,那么这些特性往往可以作为平台特性来实现,通过对这些平台特性进行有效的封装,使其向其他应用开放。正是如此,Spring由于其IOC、AOP、事务处理...

乱舞
06/29
0
0
Spring中Bean的生命周期及其扩展点

Spring中Bean的管理是其最基本的功能,根据下面的图来了解Spring中Bean的生命周期: 解说: (1)BeanFactoryPostProcessor的postProcessorBeanFactory()方法:若某个IoC容器内添加了实现了B...

超人归来007
06/10
0
0
获取Spring容器中的Bean

Spring中的ApplicationContexts可以被限制在不同的作用域。在web框架中,每个DispatcherServlet有它自己的WebApplicationContext,它包含了DispatcherServlet配置所需要的bean。DispatcherS...

Sobey
2015/01/26
0
1
SpringMVC加载WebApplicationContext源码分析

Spring框架提供了构建Web应用程序的全功能MVC模块,叫Spring MVC,通过Spring Core+Spring MVC即可搭建一套稳定的Java Web项目。本文通过Spring MVC源码分析介绍它的核心实现原理。 Tomcat服...

丶Lion
2015/08/29
231
0

没有更多内容

加载失败,请刷新页面

加载更多

撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
23分钟前
2
0
《配电网自动化技术》第一章

写了配电网的组成、历程、难点、存在问题、解决方案,还是蛮好的。尤其是各地建设的系统后续又无法实用化,以及多种终端反而增加了运维工作量等,都是目前切实存在的让大家不停吐槽的内容。

max佩恩
28分钟前
1
0

中国龙-扬科
46分钟前
5
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
50分钟前
6
0
NetCore MVC Demo

地址:http://114.116.9.72:5411

whltian
57分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部