Spring中@Controller和@RestController的區(qū)別詳解
@Controller 和 @RestController
最近遇到注解 @Controller 和 @RestController 在使用上的小問題,記錄一下二者的區(qū)別。
相同點
都可以用來表示 Spring 的某個類,是否可以接收 HTTP 請求
不同點
@RestController

- 由源碼可知,@RestController 是 @Controller 和 @ResponseBody 的結合體,單獨使用 @RestController 的效果與 @Controller 和 @ResponseBody 二者同時使用的效果相同
- 使用 @RestController 注解標記的類,它里面的所有方法只能返回 String、Object、Json 等實體對象,不能跳轉到 jsp 或者 html 等模版頁面
@Controller

- 標識一個 Spring 類是 Spring MVC controller處理器
- 用注解 @Controller 標記的類,它里面的方法的返回值,會直接被視圖解析器解析為頁面地址,并跳轉到相應的 jsp,html 頁面
- 在被注解 @Controller 標記的類中,如果某個方法想返回實體對象,那么需要在該方法上,加上 @ResponseBody 注解,如下所示
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@ResponseBody
@RequestMapping("/queryAllUser")
public List<User> queryAllUser() {
return userService.queryUserList();
}
}
到此這篇關于Spring中@Controller和@RestController的區(qū)別詳解的文章就介紹到這了,更多相關@Controller和@RestController的區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot使用@Async注解可能會遇到的8大坑點匯總
SpringBoot中,@Async注解可以實現(xiàn)異步線程調用,用法簡單,體驗舒適,但是你一定碰到過異步調用不生效的情況,今天,我就列出90%的人都可能會遇到的8大坑點,需要的朋友可以參考下2023-09-09
mybatis攔截器實現(xiàn)數(shù)據(jù)權限項目實踐
本文主要介紹了mybatis攔截器實現(xiàn)數(shù)據(jù)權限項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
Java單元測試Powermockito和Mockito使用總結
公司單元測試框架選用了Junit 4.12,Mock框架選用了Mockito和PowerMock,本文主要介紹了Java單元測試Powermockito和Mockito使用總結,感興趣的可以了解一下2021-09-09
Spring Boot中@ConditionalOnProperty的使用方法
這篇文章主要給大家介紹了關于Spring Boot中@ConditionalOnProperty的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12
Caffeine本地緩存核心原理與使用方法詳解(含與Spring?Cache集成)
本文介紹Caffeine作為高性能本地緩存庫,具備智能淘汰策略和并發(fā)優(yōu)化,集成SpringCache實現(xiàn)緩存管理,探討緩存穿透、擊穿、雪崩防護及多級緩存(Caffeine+Redis)方案,適用于Java生態(tài)的緩存實踐,感興趣的朋友跟隨小編一起看看吧2025-09-09
java中ThreadLocal和ThreadLocalMap淺析
這篇文章主要介紹了java中ThreadLocal和ThreadLocalMap淺析,ThreadLocal類用來設置線程私有變量?本身不儲存值?主要提供自身引用?和?操作ThreadLocalMap?屬性值得方法,需要的朋友可以參考下2023-09-09

