WEB应用是如何运用Spring的?#Spring的IOC容器如何在WEB中创建和获取?

一、Spring的IOC容器如何在WEB中创建?

①非WEB应用在main方法中直接创建 IOC 容器

②WEB应用中,IOC应该在服务器加载时就创建 IOC 容器

所以我们需要用到ServletContextListener监听器类,在初始化服务器方法 contextInitialized(ServletContextEvent sce) 中创建 IOC 容器

③在WEB应用的其他组件中如何来访问 IOC 容器呢?

我们只需要在监听器中将创建好的IOC容器放入到 ServletContext 域对象中即可

这些想法,Spring已经帮我们做好了,我们只需这样操作,如下:

①、导入jar包 spring-web-4.0.0.RELEASE.jar ,Spring将以上操作实现在jar包中

②、在web.xml文件中配置 ContextLoaderListener 监听器

这个监听器实现了 ServletContextListener 接口,当服务器启动时,创建ServletContext域对象,会执行该监听器中的contextInitialized方法

进入 initWebApplicationContext方法中,发现它创建好 IOC 容器后存放到servletContext域对象中

③、那么它是如何获取到Spring的配置文件的呢?

在web.xml中配置context-param

 这样配置了之后呢,就会在 IOC 创建后会根据 Spring 配置文件所设置

 ServletContext会获取web.xml中的 param-name为 contextConfigLocation 的值,即applicationContext.xml配置文件

IOC容器就这样创建完毕了

二、Spring的IOC容器如何在WEB中获取?

获取IOC容器的源码:

WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE就是IOC容器对象在ServletContext域中的Key

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值