在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
今天咋们要学习的是SpringMVC框架中Spring与Web环境集成的内容,主要涉及的知识点有ApplicationContext应用上下文获取方式,Spring提供获取应用上下文的工具,导入Spring集成web的坐标,配置ContextLoaderListener监听器以及通过工具获得应用上下文对象。下面我们来看看具体的学习内容吧~

1、ApplicationContext应用上下文获取方式
应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。
在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,在将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了。
2、Spring提供获取应用上下文的工具
上面的分析不用手动实现,Spring提供了一个监听器ContextLoaderListener就是对上述功能的封装,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中,提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。
所以我们需要做的只有两件事:
一是在web.xml中配置ContextLoaderListener监听器(导入spring-web坐标);二是使用WebApplicationContextUtils获得应用上下文对象ApplicationContext。
3、导入Spring集成web的坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
4、配置ContextLoaderListener监听器
<!--全局参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--Spring的监听器-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
5、通过工具获得应用上下文对象
ApplicationContext applicationContext =
WebApplicationContextUtils.getWebApplicationContext(servletContext);
Object obj = applicationContext.getBean("id");
最后,总结一下Spring与Web环境集成的知识要点:Spring集成web环境步骤是先配置ContextLoaderListener监听器,然后使用WebApplicationContextUtils获得应用上下文。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学习Java好不好?未来发展反向有哪些?
从市场需求来看,Java应用面试非常广泛的,而且是大多数企业级软件开发的首选。就其使用率来看,Java编程语言连续十几年处于所有开发语言的前三位。及时应用市场不断有新的技术涌入,依旧无法撼动Java的地位。所以对于学习Java的小伙伴来说,不要担心学习了Java市场会不好,我们需要更加关注技术层面的优秀。那Java未来的发展方向有哪些呢?
8283
2019-06-14 17:25:35
零基础如何学习Java编程语言?
Java编程语言一直都是世界范围内使用率最为广泛的编程语言,因为其同行用、安全性、高效性和平台移植性等特点,被企业广泛的应用。尤其近几年大数据与人工智能的概念持续火爆。Java语言更加凸显其优势,其职业发展前景更加更阔。那对于零基础的同学如何学习Java编程语言呢?
4932
2019-10-28 18:49:03
线程池的实现原理详解附源码
线程池作为存放线程的池子,能存放很多可以复用的线程。线程池的优点主要是可以降低系统资源消耗,提高响应速度以及提高线程的可管理性。本文将附上源码为大家详解线程池的实现原理。内容主要包括提交任务、创建线程、工作线程的实现原理和线程复用机制。
5494
2020-04-13 19:05:36
html5和Java发展前景如何?
目前,许多想要学习IT技术的朋友都在考虑这样一个问题,html5和Java发展前景如何?简单来讲,html5是新兴的前端开发技术,发展前景自不必多说。而Java是老牌的后端开发语言,一直以来都备受程序员的青睐和追捧,就业岗位的选择也十分广泛。要想知道html5和Java发展前景,我们下面来详细分析一下。
5014
2020-06-15 17:05:43
Java面授班和Java在线学习班哪个更好?
近年来,通过Java培训班进入互联网Java技术岗位成为求职者以及企业双双认可的途径。多种不同的学习途径为求学的小伙伴创造了更多的学习机会。对于想学习Java的同学而言,应该参加Java面授班,还是参加Java在线学习班?两者有什么区别和优劣呢?
4961
2020-07-24 16:06:23
