[spring-mvc]在MVC中啟用Java配製
阿新 • • 發佈:2018-11-09
啟用Java配製
參考文章
Enabling the MVC Java Config or the MVC XML Namespace
正文
要啟用MVC的Java配製,要在你的一個標記有@Configuration
類上新增@EnableWebMvc
註解
@Configuration
@EnableWebMvc
public class WebConfig {
}
在XML檔案中達到相同的目的,你可以在你的DispatcherServlet的上下文(如果DispatcherServlet上下文沒有定義,則在根上下文中)中新增mvc:annotation-driven
@EnableWebMvc
和mvc:annotation-driven
的作用
註冊了一個RequestMappingHandlerMapping
, 一個RequestMappingHandlerAdapter
,一個ExceptionHandlerExceptionResolver
以支援例如標記有@RequestMapping
或@ExceptionHandler
等註解的控制器方法來處理請求。
其也激活了下面的配製:
1. 通過ConversionService
例項註冊Spring3風格的資料繫結而不是使用JavaBeans PropertyEditors
。
2. 通過ConversionService
@NumberFormat
格式化數字。 3. 使用
@DateTimeFormat
來格式化Date
, Calendar
, Long
。 4. 如果JSR-303的提供者在類路徑中出現,支援使用
@Valid
校驗@Controller
。 5.
HttpMessageConverter
支援標記有@RequestMapping
或@ExceptionHandler
方法的@RequestBody
引數和@ResponseBody
方法返回值。
下面是HttpMessageConverters完整的設定
- ByteArrayHttpMessageConverter 轉換二進位制資料。
- StringHttpMessageConverter轉換字串。
- ResourceHttpMessageConverter轉換來自
org.springframework.core.io.Resource
所有媒體型別。 - SourceHttpMessageConverter轉換
javax.xml.transform.Source
。 - FormHttpMessageConverter轉換資料從
MultiValueMap<String, String>
。 - Jaxb2RootElementHttpMessageConverter 轉換 Java物件到XML – 如果JAXB2出現,而Jackson 2 XML extension沒有出現則新增該轉換器
- MappingJackson2HttpMessageConverter 轉換JSON – 如果Jackson 2在類路徑上出現則新增。
- MappingJackson2XmlHttpMessageConverter轉換XML – 如果Jackson 2 XML extension 在類路徑中出現則新增
- AtomFeedHttpMessageConverter 轉換 Atom – 如果Rome在類路徑中出現則新增
- RssChannelHttpMessageConverter 轉換 RSS – 如果Rome在類路徑中出現則新增