區別

2012-09-19 70 views
3

是什麼春天BeanNameUrlHandlerMapping,並SimpleUrlHandlerMapping建立的區別?區別

經過一些網站後,我明白 BeanNameUrlHandlerMapping是DispatcherServlet的默認HandlerMapping。

同樣在BeanNameUrlHandlerMapping中,您可以直接使用Controller映射URL。

但是SimpleUrlHandlerMapping也可以做同樣的事情。

我知道的東西,但沒有那麼多清楚,它必須做一些事情

名接受/但ID不能.....但我很困惑。

什麼是確切的差異? SimpleUrlHandlerMapping的需求是什麼?

請解釋...謝謝。

回答

3

我們,如果我們要映射多個URL映射到一個控制器類註冊多個網址,這是不是與Spring IoC來工作的好辦法。

SimpleUrlHandlerMapping建立是一種簡單的方法使用地圖或屬性豆定義URL映射。這簡化了Spring MVC中的URL映射。

例BeanUrlHandlerMapping

<bean name="/hello.htm" class="com.raistudies.ui.comtroller.HelloController"/> 

<bean name="/sayHello*" class="com.raistudies.ui.comtroller.HelloController"/> 

<bean id="urlHandler" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> 

重要:

  • 需要定義一個bean爲每個URL
  • Spring容器具有通過URL的bean。

    • 使用一個bean爲使用同一控制器網址:雖然所有的URL由同一個bean

    例SimpleUrlHandlerMapping建立

    <bean id="helloController" class="com.raistudies.ui.controller.HelloController"/> 
    
        <bean id="urlHandler" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
         <property name="urlMap"> 
          <map> 
           <entry key="/hello.htm" value-ref="helloController"/> 
           <entry key="/sayHello*" value-ref="helloController"/> 
           <entry key="/welcome.html" value-ref="helloController"/> 
           <entry key="/welcomeUser*" value-ref="helloController"/> 
          </map> 
         </property> 
        </bean> 
    

    重要服務。

  • 沒有必要爲每個網址定義一個bean
+0

感謝您的解釋,現在很清楚。還是一個小疑問,我已經記的,我能以這種形式編寫,在其中同時聲明ID的名稱,並在所有其他地方只是簡單地給像REF =爲myBean參考。這有什麼問題? – Jayesh