W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要啟用MVC Java編程配置,你需要在其中一個注解了@Configuration
的類上添加@EnableWebMvc
注解:
@Configuration
@EnableWebMvc
public class WebConfig {
}
要啟用XML命名空間,請在你的DispatcherServlet上下文中(如果沒有定義任何DispatcherServlet上下文,那么就在根上下文中)添加一個mvc:annotation-driven
元素:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<mvc:annotation-driven/>
</beans>
上面的簡單的聲明代碼,就已經(jīng)默認(rèn)注冊了一個RequestMappingHandlerMapping
、一個RequestMappingHandlerAdapter
,以及一個ExceptionHandlerExceptionResolver
,以支持對使用了@RequestMapping
、@ExceptionHandler
及其他注解的控制器方法的請求處理。
同時,上面的代碼還啟用了以下的特性:
@NumberFormat
對數(shù)字字段進(jìn)行格式化,類型轉(zhuǎn)換由ConversionService
實現(xiàn)@DateTimeFormat
注解對Date
、Calendar
、Long
及Joda Time類型的字段進(jìn)行格式化@Valid
注解對@Controller
輸入進(jìn)行驗證——前提是classpath路徑下比如提供符合JSR-303規(guī)范的驗證器HttpMessageConverter
的支持,對注解了@RequestMapping
或@ExceptionHandler
方法的@RequestBody
方法參數(shù)或@ResponseBody
返回值生效下面給出了一份由mvc:annotation-driven
注冊可用的HTTP消息轉(zhuǎn)換器的完整列表:
ByteArrayHttpMessageConverter
StringHttpMessageConverter
ResourceHttpMessageConverter
:org.springframework.core.io.Resource
與所有媒體類型之間的互相轉(zhuǎn)換SourceHttpMessageConverter
:從(到)javax.xml.transform.Source
的轉(zhuǎn)換FormHttpMessageConverter
:數(shù)據(jù)與MultiValueMap<String, String>
之間的互相轉(zhuǎn)換Jaxb2RootElementHttpMessageConverter
:Java對象與XML之間的互相轉(zhuǎn)換——該轉(zhuǎn)換器在classpath路徑下有JAXB2依賴并且沒有Jackson 2 XML擴(kuò)展時被注冊MappingJackson2HttpMessageConverter
:從(到)JSON的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath下有Jackson 2依賴時被注冊MappingJackson2XmlHttpMessageConverter
:從(到)XML的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath下有Jackson 2 XML擴(kuò)展時被注冊AtomFeedHttpMessageConverter
:Atom源的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath路徑下有Rome時被注冊RssChannelHttpMessageConverter
:RSS源的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath路徑下有Rome時被注冊你可以參考21.16.12 消息轉(zhuǎn)換器一小節(jié),了解如何進(jìn)一步定制這些默認(rèn)的轉(zhuǎn)換器。
Jackson JSON和XML轉(zhuǎn)換器是通過
Jackson2ObjectMapperBuilder
創(chuàng)建的ObjectMapper
實例創(chuàng)建的,目的在于提供更好的默認(rèn)配置該builder會使用以下的默認(rèn)屬性對Jackson進(jìn)行配置:
同時,如果檢測到在classpath路徑下存在這些模塊,該builder也會自動地注冊它們:
jackson-datatype-jdk7: 支持Java 7的一些類型,例如
java.nio.file.Path
jackson-datatype-joda: 支持Joda-Time類型
jackson-datatype-jsr310: 支持Java 8的Date & Time API類型
jackson-datatype-jdk8: 支持Java 8其他的一些類型,比如
Optional
等
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: