1. 程式人生 > >[spring-mvc]在MVC中啟用Java配製

[spring-mvc]在MVC中啟用Java配製

啟用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

@EnableWebMvcmvc: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在類路徑中出現則新增