web.xml中配置spring的几种方式 以及 Spring获取Bean的几种方式

来源:互联网 发布:软件 英语 编辑:程序博客网 时间:2024/04/30 23:33

                                看了几个SSH的实例,越看越糊涂,为什么每个配置都不同了,就web.xml中配置spring就好几种。找到了2篇好的博文,收藏下!

                             

  <!--web.xml中配置spring的几种方式   http://923080512.iteye.com/blog/1401696 -->

spring有三种启动方式,使用ContextLoaderServlet,ContextLoaderListener和ContextLoaderPlugInspring3.0及以后版本中已经删除ContextLoaderServlet 和Log4jConfigServlet可以采用余下两种启动方式ContextLoaderListener和ContextLoaderPlugIn建议使用ContextLoaderListener N0:1       <!--推荐使用此种方式-->
 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> <!--contextConfigLocation在 ContextLoaderListener类中的默认值是 /WEB-INF/applicationContext.xml--><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value><!-- <param-value>classpath:applicationContext*.xml</param-value> --></context-param>

N0:2 <!--spring3.0之后不再支持此种方式-->
<servlet><servlet-name>context</servlet-name><servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class><load-on-startup>1</load-on-startup></servlet>

N0:3 <!--要导入org.springframework.web.struts-3.0.5.RELEASE.jar包,在struts2.0及以后版本不支持此种方式加载spring-->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">              <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>      </plug-in>

<!--Spring获取Bean的几种方式  http://www.blogjava.net/jerry-zhaoj/articles/234663.html-->

通过xml配置文件

    bean配置在xml里面,spring提供两种方式读取配置文件得到ApplicationContext.

FileSystemXmlApplicationContext

    通过程序在初始化的时候,导入Bean配置文件,然后得到Bean实例:


ApplicationContext oAC = new FileSystemXmlApplicationContext”applicationContext.xml”)oAC .getBean(”bean01″);


WebApplicationContextUtil

     在B/S系统中,通常在web.xml初始化bean的配置文件,然后由WebAppliCationContextUtil得到ApplicationContext.例如:


ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);//ApplicationContext ctx =  WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);


getRequiredWebApplicationContext和getWebApplicationContext的区别是,获取失败时候,getRequiredWebApplicationContext抛出异常,getWebApplicationContext抛出null

ApplicationObjectSupport

   抽象类,它提供getApplicationContext()方法,可以方便的获取到ApplicationContext。Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContextcontext)方法将ApplicationContext 对象注入。

WebApplicationObjectSupport

  抽象类,它提供getWebApplicationContext()获WebApplicationContext

ApplicationContextAware

 接口类,实现该接口的setApplicationContext(ApplicationContextcontext)方法,并保存ApplicationContext对象。Spring初始化时,会通过该方法将ApplicationContext对象注入。



原创粉丝点击