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

SpringMVC 中的常用注解和用法詳解

 更新時間:2026年04月14日 08:57:06   作者:tryxr  
文章詳細解釋了SpringMVC中常用的注解及其用法,這些注解用于處理HTTP請求、綁定請求參數(shù)和數(shù)據(jù)等,結(jié)合實例代碼給大家介紹的非常詳細,對大家啊的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

1、@Controller

類注解

將一個 Java 類標記為 Spring MVC 的 Controller,標識一個類為 Spring MVC 控制器

該類中的方法可以使用 @RequestMapping、@GetMapping、@PostMapping 等注解來映射 HTTP 請求。

2、@RestContoller

類注解

= @Controller + @ResponseBody(類級別)

@Controller 和 @ResponseBody 的組合,專為返回 數(shù)據(jù)(如 JSON、XML、純文本等) 而非視圖頁面而設(shè)計。

3、@ResponseBody

既是類注解又是方法注解

用于將控制器方法的返回值直接寫入 HTTP 響應(yīng)體(Response Body),而不是被解析為視圖名稱(如 Thymeleaf 模板名)。

 /**
     * 返回視圖
     * @return
     */
    @RequestMapping("/re1")
    public String re1() {
        return "/test.html";
    }
    /**
     * 返回數(shù)據(jù)
     * @return
     */
    @ResponseBody
    @RequestMapping("/re2")
    public String re2() {
        return "/test.html";
    }

4、@RequestMapping

既是類注解也是方法注解

Spring MVC 中最核心的請求映射注解,用于將 HTTP 請求(URL + 方法 + 參數(shù)等) 綁定到具體的控制器方法上。

@ResponseBody
    @RequestMapping(value = "/re7", produces = "application/json")
    public String re7() {
        return "{\"OK\": 1}";
    }

5、@GetMapping

方法注解

是 Spring Framework 提供的一個組合注解(Composed Annotation),它是 @RequestMapping(method = RequestMethod.GET) 的快捷方式,專門用于映射 HTTP GET 請求。

6、@RequestParam

用于參數(shù)綁定/參數(shù)重命名,@RequestParam 用于將 HTTP 請求中的參數(shù)(如 URL 查詢參數(shù) ?name=Alice 或表單數(shù)據(jù))綁定到控制器方法的某個參數(shù)上。

屬性說明默認值
value / name指定請求中的參數(shù)名-
required是否必須傳該參數(shù)true
defaultValue參數(shù)未提供時的默認值-
@RequestMapping("/r6")
    public String r6(@RequestParam(value = "wd", required = false, defaultValue = "000000") String keyword) {
        return "接收到參數(shù), keyword:" + keyword;
    }

默認情況下,請求中參數(shù)名相同的多個值,是封裝到數(shù)組。如果要封裝到集合,要使用 @RequestParam 綁定參數(shù)關(guān)系

@RequestMapping("/r8")
    public String r8(@RequestParam(required = false) List<String> list) {
        return list.toString();
    }

7、@RequestBody

方法注解

請求正文,意思是這個注解作用在請求正文的數(shù)據(jù)綁定,請求參數(shù)必須寫在請求正

接收 JSON 對象,需要使用 @RequestBody 注解

/**
     * 接收一個json字符串, 并把json字符串轉(zhuǎn)為Person對象
     * @param person
     * @return
     */
    @RequestMapping("/r9")
    public String r9(@RequestBody Person person) {
        return person.toString();
    }

8、@PathVariable

路徑變量

作用在請求 URL 路徑上的數(shù)據(jù)綁定,默認傳遞參數(shù)寫在 URL 上,SpringMVC 就可以獲取到

/**
     *  獲取 URL 中的參數(shù)
     */
    @RequestMapping("/r10/{id}")
    public String r10(@PathVariable Integer id) {
        return "從 url 中獲取 id:"+id;
    }
@RequestMapping("r11/{id}/{name}")
    public String r11(@PathVariable Integer id, @PathVariable("name") String userName) {
        return "解析參數(shù) id:" + id + ",name:" + userName;
    }

9、@RequestPart

用于上傳文件

@RequestMapping("/r12")
    public String getfile(@RequestPart("file") MultipartFile file) throws IOException {
        // 獲取文件名稱
        String fileName = file.getOriginalFilename();
        System.out.println(fileName);
        //文件上傳
        file.transferTo(new File("D:\\AAA   Java/" + file.getOriginalFilename()));
        return "接收到文件名為:" + fileName;
    }

10、@CookieValue

用于獲取 Cookie 信息

@RequestMapping("/getCookie2")
    public String getCookie2(@CookieValue("name") String name) {
        return "獲取 Cookie 成功, name:" + name;
    }

11、@SessionAttribute

用于獲取 Session 信息

@RequestMapping("/getSession3")
    public String getSession3(@SessionAttribute("address") String address) {
        return "獲取 Session 成功, address:" + address;
    }

12、@RequestHeader

用于獲取頭部信息

@RequestMapping("/getHeader2")
    public String getHeader2(@RequestHeader("User-Agent") String userAgent) {
        return "獲取header成功. userAgent:"+ userAgent;
    }

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

相關(guān)文章

  • Java的幾種文件拷貝方式示例詳解

    Java的幾種文件拷貝方式示例詳解

    在Java編程中文件操作是常見且重要的任務(wù)之一,其中文件拷貝是一種基本操作,這篇文章主要給大家介紹了關(guān)于Java幾種文件拷貝方式的相關(guān)資料,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2024-08-08
  • 使用Java實現(xiàn)MapReduce詞頻統(tǒng)計示例代碼

    使用Java實現(xiàn)MapReduce詞頻統(tǒng)計示例代碼

    這篇文章主要介紹了使用Java實現(xiàn)MapReduce詞頻統(tǒng)計的相關(guān)資料,通過詞頻統(tǒng)計示例來展示MapReduce的運行機制,涵蓋了Mapper和Reducer的實現(xiàn),并說明了如何配置和執(zhí)行MapReduce作業(yè),需要的朋友可以參考下
    2024-11-11
  • java compiler沒有1.8怎么解決

    java compiler沒有1.8怎么解決

    這篇文章主要介紹了java compiler沒有1.8的解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • 關(guān)于@ComponentScan注解的用法及作用說明

    關(guān)于@ComponentScan注解的用法及作用說明

    這篇文章主要介紹了關(guān)于@ComponentScan注解的用法及作用說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java利用哈夫曼編碼實現(xiàn)字符串壓縮

    Java利用哈夫曼編碼實現(xiàn)字符串壓縮

    赫夫曼編碼也翻譯為?哈夫曼編碼(Huffman?Coding),又稱霍夫曼編碼,是一種編碼方式,?屬于一種程序算法。本文將利用哈夫曼樹實現(xiàn)哈夫曼編碼進行字符串壓縮,需要的可以參考一下
    2022-09-09
  • java設(shè)計模式之觀察者模式學習

    java設(shè)計模式之觀察者模式學習

    這篇文章主要為大家詳細介紹了java設(shè)計模式之觀察者模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • SpringBoot屬性注入的兩種方法

    SpringBoot屬性注入的兩種方法

    這篇文章主要介紹了SpringBoot屬性注入的兩種方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • velocity顯示List與Map的方法詳細解析

    velocity顯示List與Map的方法詳細解析

    以下是對velocity顯示List與Map的方法進行了詳細的介紹。需要的朋友可以過來參考下
    2013-08-08
  • Mybatis中的@Param及動態(tài)SQL詳解

    Mybatis中的@Param及動態(tài)SQL詳解

    這篇文章主要介紹了Mybatis中的@Param及動態(tài)SQL詳解,@Param是MyBatis所提供的作為Dao層的注解,作用是用于傳遞參數(shù),從而可以與SQL中的的字段名相對應(yīng),需要的朋友可以參考下
    2023-10-10
  • java中BCryptPasswordEncoder密碼的加密與驗證方式

    java中BCryptPasswordEncoder密碼的加密與驗證方式

    這篇文章主要介紹了java中BCryptPasswordEncoder密碼的加密與驗證方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

色达县| 图片| 深州市| 遵义市| 珠海市| 昌江| 海门市| 南陵县| 东台市| 宜兰县| 濉溪县| 威远县| 格尔木市| 金昌市| 阳江市| 长泰县| 淮滨县| 彭山县| 灵寿县| 奉贤区| 图木舒克市| 张家川| 南江县| 汤原县| 瓦房店市| 庆安县| 长治县| 盐亭县| 元江| 土默特右旗| 松溪县| 库车县| 和静县| 健康| 公主岭市| 井研县| 汤阴县| 石楼县| 衡水市| 焦作市| 公安县|