4.0重要的一個新的改進是@RestController註解,它繼承自@Controller註解。4.0以前的版本,Spring MVC的組件都使用@Controller來標識當前類是一個控制器servlet。web
使用這個特性,咱們能夠開發REST服務的時候不須要使用@Controller而使用專門的@RestController。jsp
當你實現一個RESTful web services的時候,response將一直經過response body(即字符串)發送。爲了簡化開發,Spring 4.0提供了一個專門版本的controller。繼承
官方文檔解釋:開發
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.文檔
意思是: @RestController註解至關於@ResponseBody + @Controller合在一塊兒的做用。字符串
1) 若是隻是使用@RestController,則方法沒法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起做用,返回的內容就是Return 裏的內容,通常爲JSON。 例如:原本應該到success.jsp頁面的,則返回的就是「success」字符串了.servlet
2) 若是須要返回到指定頁面,則須要用 @Controller配合視圖解析器InternalResourceViewResolver才行。io
3) 若是須要返回JSON,XML或自定義mediaType內容到頁面,則須要在對應的方法上加上@ResponseBody註解。配置