ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring在web项目中ApplicationContext容器的实例化

2019-03-04 21:03:15  阅读:194  来源: 互联网

标签:xml 容器 java ApplicationContext spring BeanFactory web


spring IoC设计的核心是Bean容器,BeanFactory采用了java的工厂模式,通过从XML配置文件中读取JavaBean的定义,来实现JavaBean的创建、配置和管理。所以BeanFactory可以成为IoC容器。而ApplicationContext扩展了BeanFactory容器并添加了对国际化、资源访问、事件传播等方面有良好的支持可以应用在java App和java Web中。在java项目中通过ClassPathXMLApplicationContext类手工实例化ApplicationContext容器十分合适。但是对于web项目就不行了,web项目的启动是由相应的web服务器负责的。因此,在web项目中ApplicationContext容器的实例化工作最好由web服务器来完成。

spring提供两种方式

(1)基于ContextLoaderListener实现。

web.xml中添加:

<!--指定spring配置文件的位置,多个配置文件以逗号分隔-->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<!--指定以listener方式启动spring容器-->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

(2)基于ContextLoaderServlet实现。

web.xml中添加:

<!--指定spring配置文件的位置,多个配置文件以逗号分隔-->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<!--指定以Servlet方式启动spring容器-->

<servlet>

<servlet-name>context</servlet-name>

<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

<!--load-on-startup的含义就是其中的参数大于等于零的时候表示容器在启动的时候就加载这个servlet-->

<load-on-startup>1</load-on-startup>

</servlet>

标签:xml,容器,java,ApplicationContext,spring,BeanFactory,web
来源: https://www.cnblogs.com/olzoooo/p/10473065.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有