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

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

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

1、@Controller

類注解

將一個(gè) Java 類標(biāo)記為 Spring MVC 的 Controller,標(biāo)識(shí)一個(gè)類為 Spring MVC 控制器。

該類中的方法可以使用 @RequestMapping@GetMapping、@PostMapping 等注解來(lái)映射 HTTP 請(qǐng)求。

2、@RestContoller

類注解

= @Controller + @ResponseBody(類級(jí)別)

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

3、@ResponseBody

既是類注解又是方法注解

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

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

4、@RequestMapping

既是類注解也是方法注解

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

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

5、@GetMapping

方法注解

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

6、@RequestParam

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

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

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

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

7、@RequestBody

方法注解

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

接收 JSON 對(duì)象,需要使用 @RequestBody 注解

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

8、@PathVariable

路徑變量

作用在請(qǐng)求 URL 路徑上的數(shù)據(jù)綁定,默認(rèn)傳遞參數(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

    java compiler沒有1.8怎么解決

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

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

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

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

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

    java設(shè)計(jì)模式之觀察者模式學(xué)習(xí)

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

    SpringBoot屬性注入的兩種方法

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

    velocity顯示List與Map的方法詳細(xì)解析

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

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

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

    java中BCryptPasswordEncoder密碼的加密與驗(yàn)證方式

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

最新評(píng)論

迁西县| 鄂托克前旗| 永靖县| 秦安县| 册亨县| 环江| 瑞丽市| 靖江市| 巍山| 沁阳市| 达州市| 当雄县| 玉林市| 滨州市| 潢川县| 长岭县| 吉木乃县| 安泽县| 开平市| 库车县| 镇康县| 松原市| 大化| 元谋县| 五常市| 通许县| 云龙县| 苍山县| 葫芦岛市| 梅河口市| 新沂市| 阿荣旗| 屯门区| 孟连| 仁寿县| 宁波市| 武清区| 永顺县| 沙田区| 永安市| 德化县|