要點:Spring4.2前後的ViewResolver配置變了
4.2之前
<!-- 配置ViewResolver 。可用多個ViewResolver 。使用order屬性排序-->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<!--這裏是解析器的執行順序,如果有多個的話,配置的數值越小,則越早執行-->
<property name="order" value="1"></property>
<property name="mediaTypes">
<map>
<!-- 告訴視圖解析器,返回的類型格式 -->
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
<entry key="htm" value="text/htm" />
</map>
</property>
<!-- 默認的視圖 -->
<property name="defaultViews">
<list>
<!-- ModelAndView裏的數據變成JSON -->
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" />
</list>
</property>
<!-- 是否忽略accept header,默認是false(不忽略) -->
<property name="ignoreAcceptHeader" value="true"></property>
</bean>
4.2之後:沒有order和defaultViews屬性
<!-- 配置ViewResolver視圖解析器-->
<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="mediaTypes" >
<map>
<!-- 告訴視圖解析器,返回的類型爲json格式 -->
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
<entry key="htm" value="text/htm" />
</map>
</property>
<!-- 是否忽略掉accept header,默認就是false-->
<property name="ignoreAcceptHeader" value="true"/>
<!-- 是否啓用擴展名支持,默認就是true -->
<property name="favorPathExtension" value="true"/>
</bean>