在线客服
扫描二维码
下载博学谷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获得应用上下文。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Kotlin是否会取代Java?
Kotlin是否会取代java?谷歌曾经表示过要使用Kotlin做安卓开发一级语言,那这是否意味着java已经完蛋了呢?那么kotlin能取代java吗?有些同学或许还不了解Kotlin,Kotlin 是一个用于现代多平台应用的静态编程语言,可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。
7776
2019-08-08 14:08:23
MYSQL好学吗?一般要学多久?
Mysql好学吗?一般要学多久?对于有一定计算机语言基础的同学来说,Mysql算是非常好学的数据库了。学多久要看自身基础,没有基础的同学也不用担心,Mysql绝对可以作为大家入门数据库的第一步。如果报名线上培训班有老师的指导的话,最快8天就可以掌握Mysql数据库的知识了。那么该如何学习Mysql呢?
16323
2019-08-16 16:38:27
Java课程设计参考文献推荐名单
实践出真知,对于广大Java学习者来说,Java课程设计可以充分锻炼到大家对理论知识的运用,并且发现自身学习上的不足再加以努力。为了解决大家在Java课程设计时遇到的问题,小编特地整理了参考文献的推荐名单,上面有100多篇文献及其相关信息,希望对大家有用。
10920
2019-08-29 11:00:25
JavaEE和JavaSE的区别有哪些?学哪个比较好?
Java作为最受欢迎的编程语言,其在编程中的地位自不必多说。对于许多才刚刚入门Java的朋友来讲,常常会产生这样的困惑,JavaEE是什么?JavaSE又是什么?两者的区别有哪些?学哪个比较好?这一系列的问题,在本文中都会为大家详细解答,要是大家感兴趣就接着看下去吧!
12753
2019-12-26 09:30:10
Zookeeper从入门到实践要学什么?
ZooKeeper是一种分布式协调服务,它用简单的架构和API,解决了在分布式环境中协调和管理服务的难题。那么,Zookeeper从入门到实践要学什么呢?以博学谷相关的免费课程为例,课程主要讲解了包括集群结构、集群配置、常用命令、部署模式、Zab协议、Dubbo架构等重要核心知识,并结合经典售票案例与实际应用。
4417
2020-06-26 18:22:26