最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring中Controller應用深入理解

 更新時間:2022年12月08日 16:13:30   作者:居然天上樓  
這篇文章主要介紹了Spring項目中的Controller,Spring Controller本身也是一個Spring Bean,只是它多提供了Web能力,只需要造類上提供@Controller注解即可

概述

Controller是Spring接受并處理網(wǎng)頁請求的組件,是整個應用的入口,因此學會Controller的常用注解對理解一個應用是重中之重。SpringBoot的Controller中經(jīng)常會用到注解@Controller、@RestController、@RequestMapping、@RequestBody等,本短文主要對這些常用的Controller注解進行簡單介紹。

1. 添加依賴

首先,需要保障此項目中存在spring-boot-starter-web依賴項,否則,當前項目并不具備Web應用程序開發(fā)所需的依賴!

提示:spring-boot-starter-web是建立在spring-boot-starter的基礎之上的,即包含了spring-boot-starter,所以,在此次調(diào)整依賴項時,只需要將原有的spring-boot-starter改為spring-boot-starter-web即可!

<!-- Spring Boot框架支持WEB開發(fā)的依賴項 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

當項目中存在以上依賴項時,就具備了Web開發(fā)的依賴,且此依賴項中內(nèi)置了Tomcat,當啟用項目時,會自動將當前項目編譯、打包、部署到內(nèi)置的Tomcat上,并啟動Tomcat。

在根包下創(chuàng)建controller.AlbumController類,將此類配置為控制器類,并處理“添加相冊”的請求:

@RestController
@RequestMapping("/album")
public class AlbumController {
    @Autowired
    private IAlbumService albumService;
    // http://localhost:8080/album/add-new?name=TestAlbum001&description=TestDescription001&sort=66
    @RequestMapping("/add-new")
    public void addNew(AlbumAddNewDTO albumAddNewDTO){
        albumService.addNew(albumAddNewDTO);
    }
}

完成后,啟動項目,打開瀏覽器,通過http://localhost:8080/album/add-new?name=TestAlbum001&description=TestDescription001&sort=66可以測試添加數(shù)據(jù)!

提示:目前添加相冊成功時,在瀏覽器中并不會有任何提示。

如果使用相同的請求參數(shù)反復提交請求,瀏覽器會顯示500錯誤,這是因為沒有處理異常所導致的!

2. 關(guān)于異常

可能出現(xiàn)的異常

  • 如果某個方法會拋出異常,則誰調(diào)用,誰處理;
  • 如果調(diào)用的方法拋出了異常,當前方法也沒有使用try...catch進行捕獲并處理,相當于當前方法拋出了此異常;
  • 如果服務器端程序運行時出現(xiàn)了異常,始終未被處理,框架默認的行為是響應500錯誤,此時應該檢查服務器端的控制臺,在控制臺中應該有異常的相關(guān)信息;
  • 處理異常的本質(zhì)是:告訴客戶端執(zhí)行失敗,且失敗的原因是什么,以至于客戶端下次提交請求時可能成功,另外,對于某些特殊的情景,可能還需要補充執(zhí)行一些其它代碼;
  • 關(guān)于異常的捕獲處理和拋出,在典型的服務器端項目中,Mapper、Service都不能處理異常,因為它們不與客戶端直接交互,如果它們處理了異常,Controller將不知道出現(xiàn)過錯誤,反而響應“成功”的結(jié)果到客戶端,但客戶端的請求是沒有達到預期的目標的,而Controller有義務處理異常,因為它是與客戶端交互的組件

總結(jié)

本文只是對常用的一些@Controller層的注解進行簡介,對這些注解組合使用,才能夠達到想要完成的目的任務。

到此這篇關(guān)于Spring中Controller應用深入理解的文章就介紹到這了,更多相關(guān)Spring Controller內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java遞歸尋路實現(xiàn),你真的理解了嗎

    Java遞歸尋路實現(xiàn),你真的理解了嗎

    遞歸就是一個過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個大型復雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,需要的朋友可以參考下
    2021-08-08
  • 詳解Java 中的UnitTest 和 PowerMock

    詳解Java 中的UnitTest 和 PowerMock

    這篇文章主要介紹了Java中的 UnitTest 和 PowerMock,文中講解非常詳細,對大家學習有很大的幫助,感興趣的朋友可以了解下
    2020-06-06
  • 解決SpringBoot整合Mybatis掃描不到Mapper的問題

    解決SpringBoot整合Mybatis掃描不到Mapper的問題

    這篇文章主要介紹了解決SpringBoot整合Mybatis掃描不到Mapper的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Java實現(xiàn)文本編譯器

    Java實現(xiàn)文本編譯器

    這篇文章主要為大家詳細介紹了Java實現(xiàn)文本編譯器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • IDEA啟動tomcat項目報錯53820 socket closed問題及解決

    IDEA啟動tomcat項目報錯53820 socket closed問題及解決

    IDEA啟動Tomcat項目時報錯,原因是IDEA關(guān)閉時Tomcat未正常關(guān)閉,導致端口被占用,解決方法是通過任務管理器關(guān)閉占用高內(nèi)存的Java進程,通常是IDEA進程下面的,或者使用命令行找到PID并強制終止進程
    2024-12-12
  • 淺談Java日志框架slf4j作用及其實現(xiàn)原理

    淺談Java日志框架slf4j作用及其實現(xiàn)原理

    日志記錄是應用程序運行中必不可少的一部分。這篇文章主要介紹了淺談Java日志框架slf4j作用及其實現(xiàn)原理,SLF4J是一個日志框架抽象層,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • java為什么會出現(xiàn)精度丟失這種現(xiàn)象你知道嗎

    java為什么會出現(xiàn)精度丟失這種現(xiàn)象你知道嗎

    這篇文章主要介紹了Java精度丟失的問題,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下,希望能夠給你帶來幫助
    2021-08-08
  • Java Fluent Mybatis 項目工程化與常規(guī)操作詳解流程篇 下

    Java Fluent Mybatis 項目工程化與常規(guī)操作詳解流程篇 下

    Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。國內(nèi)又以Mybatis用的多,基于mybatis上的增強框架,又有mybatis plus和TK mybatis等。今天我們介紹一個新的mybatis增強框架 fluent mybatis關(guān)于項目工程化與常規(guī)操作流程
    2021-10-10
  • SpringMVC在多線程下請求頭獲取失敗問題的解決方案

    SpringMVC在多線程下請求頭獲取失敗問題的解決方案

    這篇文章主要介紹了我們就對多線程環(huán)境下使用SpringMVC中RequestContextHolder無法獲取請求的問題進行了深入的分析,并針對相關(guān)問題給出了相應的解決方案,需要的朋友可以參考下
    2024-08-08
  • 從零開始SSM搭建步驟(圖文)

    從零開始SSM搭建步驟(圖文)

    這篇文章主要介紹了從零開始SSM搭建步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04

最新評論

拜泉县| 浮梁县| 新兴县| 清丰县| 施甸县| 绥阳县| 六枝特区| 阜平县| 荆门市| 昌邑市| 清河县| 开远市| 通城县| 赣州市| 通化市| 静宁县| 花莲县| 宿松县| 丘北县| 休宁县| 台南县| 开原市| 桃源县| 方山县| 民乐县| 乌海市| 高唐县| 威信县| 三江| 加查县| 和平区| 宁津县| 杭锦旗| 松溪县| 同德县| 镇赉县| 云和县| 竹溪县| 荣昌县| 大竹县| 美姑县|