W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
要啟用MVC Java編程配置,你需要在其中一個(gè)注解了@Configuration
的類上添加@EnableWebMvc
注解:
@Configuration
@EnableWebMvc
public class WebConfig {
}
要啟用XML命名空間,請(qǐng)?jiān)谀愕腄ispatcherServlet上下文中(如果沒有定義任何DispatcherServlet上下文,那么就在根上下文中)添加一個(gè)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>
上面的簡(jiǎn)單的聲明代碼,就已經(jīng)默認(rèn)注冊(cè)了一個(gè)RequestMappingHandlerMapping
、一個(gè)RequestMappingHandlerAdapter
,以及一個(gè)ExceptionHandlerExceptionResolver
,以支持對(duì)使用了@RequestMapping
、@ExceptionHandler
及其他注解的控制器方法的請(qǐng)求處理。
同時(shí),上面的代碼還啟用了以下的特性:
@NumberFormat
對(duì)數(shù)字字段進(jìn)行格式化,類型轉(zhuǎn)換由ConversionService
實(shí)現(xiàn)@DateTimeFormat
注解對(duì)Date
、Calendar
、Long
及Joda Time類型的字段進(jìn)行格式化@Valid
注解對(duì)@Controller
輸入進(jìn)行驗(yàn)證——前提是classpath路徑下比如提供符合JSR-303規(guī)范的驗(yàn)證器HttpMessageConverter
的支持,對(duì)注解了@RequestMapping
或@ExceptionHandler
方法的@RequestBody
方法參數(shù)或@ResponseBody
返回值生效下面給出了一份由mvc:annotation-driven
注冊(cè)可用的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對(duì)象與XML之間的互相轉(zhuǎn)換——該轉(zhuǎn)換器在classpath路徑下有JAXB2依賴并且沒有Jackson 2 XML擴(kuò)展時(shí)被注冊(cè)MappingJackson2HttpMessageConverter
:從(到)JSON的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath下有Jackson 2依賴時(shí)被注冊(cè)MappingJackson2XmlHttpMessageConverter
:從(到)XML的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath下有Jackson 2 XML擴(kuò)展時(shí)被注冊(cè)AtomFeedHttpMessageConverter
:Atom源的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath路徑下有Rome時(shí)被注冊(cè)RssChannelHttpMessageConverter
:RSS源的轉(zhuǎn)換——該轉(zhuǎn)換器在classpath路徑下有Rome時(shí)被注冊(cè)你可以參考21.16.12 消息轉(zhuǎn)換器一小節(jié),了解如何進(jìn)一步定制這些默認(rèn)的轉(zhuǎn)換器。
Jackson JSON和XML轉(zhuǎn)換器是通過(guò)
Jackson2ObjectMapperBuilder
創(chuàng)建的ObjectMapper
實(shí)例創(chuàng)建的,目的在于提供更好的默認(rèn)配置該builder會(huì)使用以下的默認(rèn)屬性對(duì)Jackson進(jìn)行配置:
同時(shí),如果檢測(cè)到在classpath路徑下存在這些模塊,該builder也會(huì)自動(dòng)地注冊(cè)它們:
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號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: