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

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

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

    Jhonney的專欄

       ----人見人愛
    隨筆 - 49, 文章 - 1, 評論 - 23, 引用 - 0
    數(shù)據(jù)加載中……

    Spring學習筆記

    1.通過ContextLoaderListener創(chuàng)建根級applicationContext,初始化應(yīng)用上下文

    ,而DispatcherServlet只是在一個web應(yīng)用中的一個總的控制器,在此控制器中

    ,根據(jù)ContextLoaderListener創(chuàng)建的應(yīng)用上下文來創(chuàng)建以DispatcherServlet名

    字-servlet.xml的web層應(yīng)用上下文。具體可以參見web.xml中對此的英文解釋。
    如果想換另外的名字話則要在web.xml的DispatcherServlet的屬性中進行設(shè)置,

    否則系統(tǒng)只會查找默認的[servletName]-servlet.xml,并將其中的beans讀入

    beanFactory。它們的初始化bean工廠的過程可以參考網(wǎng)上關(guān)于spring源碼學習的

    一篇文章。

    2.在DispatcherServlet初始化handlerMapping的時候,有個參數(shù)可以進行設(shè)置,

    如autoDetectHandlerMapping,如果它為true的話,程序自動在容器的

    BeanFactory中查找handerMapping的實例,然后存入HandlerMappings中,

    BeanNameUrlHandlerMapping在初始化時將以"/"為首的bean和url一起讀入本實例

    中的map中,其他的mapping方法有各自的做法,差不多類似。

    3.以默認的handlerMapping為映射器的控制器,它們的bean是name,且它們的

    name中一定要以"/"為首,否則控制器找不到,而以simpleUrlHanlerMapping為映

    射的控制器,它們的bean一定要用id。

    4.在建立application上下文時,會建立beanfactroy,然后對此默認的

    beanfactory加入BeanPostProcessor的具體實現(xiàn)

    ApplicationContextAwareProcessor,這樣在beanfactroy中的所有bean初始化時

    都將回調(diào)ApplicationContextAwareProcessor,在這個類中篩選了一些接口的繼

    承bean,對這些bean進行相應(yīng)的注入,e.g setApplicationContext()中又定義

    了初始化initApplication()的方法,然后繼續(xù)完成bean的初始化。

    5.spring中的SimpleFormController方法中,如果通過bean定義加入

    commandClass,則不需要在SimpleFormController的繼承方法formBackingObject

    ()中加入創(chuàng)建commandclass的代碼,這個方法的目的就是在request在post提交

    的時候創(chuàng)建表單對象,并且自動提取和設(shè)置表單對象的值

    6.web.xml中的配置參數(shù),比如:
    ?<init-param>
    ??<param-name>contextConfigLocation</param-name>
    ???????? <param-value>/WEB-INF/hrms-servlet.xml</param-value>
    ??? </init-param>
    ?? <init-param>
    ?? <param-name>namespace</param-name>
    ?? <param-value>tttttttttttttttt</param-value>
    ??????? </init-param>
    這個設(shè)置可能是通過下面代碼進行綁定的,主要過程是,將HttpServletBean中的

    初始化時將servlet設(shè)置成bean,通過BeanWrapperImpl實現(xiàn)。根據(jù)web.xml中的數(shù)據(jù)進行動態(tài)設(shè)定serlet的值

    。而根ApplicationContext中則是通過去讀取配置文件,然后賦值進行的。
    PropertyValues pvs = new ServletConfigPropertyValues(getServletConfig

    (), this.requiredProperties);
    ???BeanWrapper bw = new BeanWrapperImpl(this);
    ???ResourceLoader resourceLoader = new

    ServletContextResourceLoader(getServletContext());
    ???bw.registerCustomEditor(Resource.class, new

    ResourceEditor(resourceLoader));
    ???initBeanWrapper(bw);
    ???bw.setPropertyValues(pvs, true);

    posted on 2007-03-16 00:08 Jhonney 閱讀(269) 評論(0)  編輯  收藏 所屬分類: spring


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 免费无码精品黄AV电影| 91成人在线免费视频| 国产无遮挡色视频免费视频| 精品久久亚洲中文无码| 亚洲视频在线免费看| 91亚洲自偷手机在线观看| 在线日本高清免费不卡| 亚洲精品视频在线免费| 久久久久久国产a免费观看黄色大片| 亚洲永久永久永久永久永久精品| 秋霞人成在线观看免费视频| 亚洲av日韩av高潮潮喷无码| 一级毛片免费观看不卡的| 91大神亚洲影视在线| 成人免费视频软件网站| 亚洲AV网一区二区三区 | 亚洲综合在线一区二区三区 | 亚洲AV无码码潮喷在线观看| 久久国产免费观看精品| 无码久久精品国产亚洲Av影片| 99久在线国内在线播放免费观看| 亚洲人成777在线播放| 日韩在线视频免费看| 成人a毛片视频免费看| 亚洲gv白嫩小受在线观看| 91短视频免费在线观看| 中文字幕无码亚洲欧洲日韩| 四虎永久成人免费影院域名| 91在线免费视频| 亚洲国产成AV人天堂无码| 狼友av永久网站免费观看| 免费久久人人爽人人爽av| 亚洲国产成人在线视频| 又黄又爽的视频免费看| 99久久国产精品免费一区二区 | 免费无码黄十八禁网站在线观看| 黄网站色视频免费观看45分钟| 亚洲AV无码欧洲AV无码网站| 国内大片在线免费看| 免费无码作爱视频| 亚洲欧好州第一的日产suv|