<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    ApplicationContext

    Posted on 2007-08-15 17:15 semovy 閱讀(1098) 評論(0)  編輯  收藏 所屬分類: spring
            spring為ApplicationContext提供的3種實現分別為:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和XmlWebApplicationContext,其中XmlWebApplicationContext是專為Web工程定制的。使用舉例如下:
       1. FileSystemXmlApplicationContext
               eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加載單個配置文件
               eg2.
                       String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
                       ApplicationContext ctx = new FileSystemXmlApplicationContext(locations ); //加載多個配置文件
               eg3.        
            ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");//根據具體路徑加載文件
      2. ClassPathXmlApplicationContext
               eg1.  ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
               eg2.
                       String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
                       ApplicationContext ctx = new ClassPathXmlApplication(locations);
               注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext與BeanFactory的xml文件定位方式一樣是基于路徑的。
    3. XmlWebApplicationContext
           eg1. ServletContext servletContext = request.getSession().getServletContext();    
                ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);



    注 : 一般是 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());


     加載器目前有兩種選擇:ContextLoaderListener和ContextLoaderServlet。
             這兩者在功能上完全等同,只是一個是基于Servlet2.3版本中新引入的Listener接口實現,而另一個基于Servlet接口實現。開發中可根據目標Web容器的實際情況進行選擇。

    配置非常簡單,在web.xml中增加:
    <listener>
           <listener-class>
              org.springframework.web.context.ContextLoaderListener
           </listener-class>
    </listener>
    或:
    <servlet>
             <servlet-name>context</servlet-name>
             <servlet-class>
               org.springframework.web.context.ContextLoaderServlet
             </servlet-class>
             <load-on-startup>1</load-on-startup>
    </servlet>


    通過以上配置,Web容器會自動加載/WEB-INF/applicationContext.xml初始化
    ApplicationContext實例,如果需要指定配置文件位置,可通過context-param加以指定:
    <context-param>
             <param-name>contextConfigLocation</param-name>
             <param-value>/WEB-INF/myApplicationContext.xml</param-value>
    </context-param>

    配置完成之后,即可通過
    WebApplicationContextUtils.getWebApplicationContext方法在Web應用中獲取ApplicationContext引用。

    如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();
             LoginAction action=(LoginAction)ctx.getBean("action");

    主站蜘蛛池模板: 丝袜熟女国偷自产中文字幕亚洲| 夜夜嘿视频免费看| 亚洲中文字幕无码一区| 日韩精品无码免费视频| 亚洲成片观看四虎永久| ssswww日本免费网站片| 国产亚洲视频在线播放| 三级黄色在线免费观看| 久热综合在线亚洲精品| 84pao强力永久免费高清| 亚洲一级毛片免费在线观看| 亚洲日本视频在线观看| 69av免费视频| 亚洲人成电影网站免费| 亚洲日本一区二区一本一道 | 一级免费黄色毛片| 亚洲精品一级无码中文字幕| 成人国产精品免费视频| 亚洲成AV人在线观看天堂无码| 香港a毛片免费观看 | 亚洲国产精品免费视频| 日韩免费一区二区三区在线播放| 亚洲综合av一区二区三区不卡| 国产精品无码一二区免费| 一级做a爱过程免费视频高清| 久久99国产亚洲高清观看首页| 人妻无码久久一区二区三区免费| 亚洲人成网站18禁止久久影院 | 日韩精品无码免费一区二区三区 | 国产午夜无码片免费| 亚洲综合色丁香麻豆| 免费无码黄动漫在线观看| jyzzjyzz国产免费观看| 老司机亚洲精品影院| 日本一道一区二区免费看| A级毛片高清免费视频在线播放| 亚洲最大视频网站| 亚洲AV无码乱码在线观看牲色 | 久久国产乱子精品免费女 | 高潮内射免费看片| 久久精品国产亚洲夜色AV网站|