国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 中的 @Controller 注解:原理、用法與示例

這篇具有很好參考價值的文章主要介紹了Spring Boot 中的 @Controller 注解:原理、用法與示例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Spring Boot 中的 @Controller 注解:原理、用法與示例

前言

Spring Boot 是一個快速開發(fā) Spring 應(yīng)用程序的框架,它提供了很多有用的功能和特性。其中,@Controller 注解是一個常用的注解,它可以將一個 Java 類標(biāo)記為 Spring MVC 中的控制器。本文將介紹 Spring Boot 中 @Controller 注解的原理、用法和示例。

@controller,Java 教程,spring boot,python,后端

@Controller 注解的原理

在 Spring MVC 中,@Controller 注解用于標(biāo)識一個 Java 類是一個控制器??刂破髫?fù)責(zé)接收請求、處理請求,并返回響應(yīng)。具體來說,使用 @Controller 注解的類將會被 Spring MVC 自動掃描,并注冊為一個控制器。

@Controller 注解的作用和 @Component 注解類似,都是將一個類標(biāo)記為 Spring 的組件。但是,@Controller 注解還有以下特性:

  • 自動映射 URL。@Controller 注解可以自動將請求映射到控制器的方法上。
  • 支持視圖解析。@Controller 注解可以將方法的返回值解析為視圖,并渲染到客戶端。

@Controller 注解的用法

使用 @Controller 注解的步驟如下:

1. 創(chuàng)建控制器類

首先,需要創(chuàng)建一個 Java 類,并使用 @Controller 注解來標(biāo)注這個類。

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }

}

2. 編寫控制器方法

在控制器類中,需要編寫控制器方法??刂破鞣椒ㄌ幚碚埱?,并返回響應(yīng)??刂破鞣椒梢允褂?Spring MVC 提供的注解來指定請求的 URL、請求方法和其他參數(shù)。

@GetMapping("/hello")
public String hello() {
    return "hello";
}

上面的代碼中,@GetMapping 注解用于指定請求的 URL,即 /hello。方法的返回值為 “hello”,表示要渲染名為 “hello” 的視圖。

3. 配置視圖解析器

在 Spring MVC 中,控制器方法的返回值可以是一個視圖名稱,也可以是一個 ModelAndView 對象。為了將視圖名稱解析為實際的視圖,需要配置一個視圖解析器。

@Bean
public ViewResolver viewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/");
    resolver.setSuffix(".jsp");
    return resolver;
}

上面的代碼中,創(chuàng)建了一個 InternalResourceViewResolver 對象,并將前綴設(shè)置為 /WEB-INF/views/,后綴設(shè)置為 .jsp。這樣,當(dāng)控制器方法返回 “hello” 時,Spring MVC 將會解析為 /WEB-INF/views/hello.jsp。

4. 啟動應(yīng)用程序

最后,需要啟動應(yīng)用程序,并訪問 http://localhost:8080/hello,就可以看到 “hello” 視圖的內(nèi)容了。

@SpringBootApplication
public class MyApp {

    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }

}

@Controller 注解的示例

下面是一個使用 @Controller 注解的示例項目。

1. 創(chuàng)建項目

使用 Spring Initializr 創(chuàng)建一個新的 Spring Boot 項目,添加以下依賴:

  • Spring Web
  • Thymeleaf

2. 創(chuàng)建控制器類

創(chuàng)建一個 GreetingController 類,并使用 @Controller 注解來標(biāo)注這個類。

@Controller
public class GreetingController {

    @GetMapping("/greeting")
    public String greeting(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting";
    }

}

上面的代碼中,@GetMapping 注解用于指定請求的 URL,即 /greeting。方法的參數(shù)中,@RequestParam 注解用于指定請求參數(shù)。如果請求中沒有傳遞 name 參數(shù),則使用默認(rèn)值 “World”。方法的返回值為 “greeting”,表示要渲染名為 "greeting"的視圖。

3. 創(chuàng)建視圖模板

在 src/main/resources/templates 目錄下,創(chuàng)建一個名為 greeting.html 的 Thymeleaf 模板文件。

<!DOCTYPE html>
<html>
<head>
    <title>Greeting</title>
</head>
<body>
    <h1>Hello, [[${name}]]!</h1>
</body>
</html>

上面的代碼中,[[${name}]] 表示 Thymeleaf 表達(dá)式,用于獲取控制器方法中傳遞的 name 參數(shù)的值。

4. 啟動應(yīng)用程序

最后,啟動應(yīng)用程序,并訪問 http://localhost:8080/greeting?name=Jack,可以看到 “Hello, Jack!” 的內(nèi)容。

@SpringBootApplication
public class MyApp {

    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }

}

總結(jié)

@Contoller 注解是 Spring Boot 中常用的注解之一,它可以將一個 Java 類標(biāo)記為 Spring MVC 中的控制器??刂破髫?fù)責(zé)接收請求、處理請求,并返回響應(yīng)。本文介紹了 @Controller 注解的原理、用法和示例,希望可以幫助讀者更好地理解和使用這個注解。文章來源地址http://www.zghlxwxcb.cn/news/detail-727676.html

到了這里,關(guān)于Spring Boot 中的 @Controller 注解:原理、用法與示例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Spring MVC @Controller和@RequestMapping注解

    @Controller 注解可以將一個普通的 Java 類標(biāo)識成控制器(Controller)類,示例代碼如下。 Spring MVC 是通過組件掃描機(jī)制查找應(yīng)用中的控制器類的,為了保證控制器能夠被 Spring MVC 掃描到,我們還需要在 Spring MVC 的配置文件中使用? context:component-scan/ ?標(biāo)簽,指定控制器類的基本包

    2024年02月09日
    瀏覽(17)
  • 【SpringBoot】常用的的各種注解(一):Controller中的請求參數(shù)

    【SpringBoot】常用的的各種注解(一):Controller中的請求參數(shù)

    請求路徑中的參數(shù),可以有一個或者多個 在Postman中也是直接在請求路徑中添加參數(shù)即可 獲取查詢參數(shù),形式為 url?name=張三 ,可以有一個或者多個。 在Postman中可以使用 Query Params 的方式添加參數(shù): 也可以使用Body中的 form-data 的形式添加參數(shù) 一般用于傳輸DTO參數(shù),只能有一

    2024年02月06日
    瀏覽(22)
  • Spring Boot 單元測試(Controller測試與Service測試)

    Spring Boot 單元測試(Controller測試與Service測試)

    ??博客主頁:??我的主頁?? ??歡迎點贊 ?? 收藏 ??留言 ?? 歡迎討論!?? ??本文由 【泠青沼~】 原創(chuàng),首發(fā)于 CSDN?????? ??由于博主是在學(xué)小白一枚,難免會有錯誤,有任何問題歡迎評論區(qū)留言指出,感激不盡!??個人主頁 @SpringBootTest相當(dāng)于springMvc中單元測試中的

    2023年04月26日
    瀏覽(26)
  • Spring Boot中的@MessageMapping注解:原理及使用

    Spring Boot中的@MessageMapping注解:原理及使用

    在Web應(yīng)用程序中,實現(xiàn)實時的雙向通信是一項重要的功能。為了實現(xiàn)這種功能,需要使用WebSocket協(xié)議。Spring框架提供了Spring WebSocket模塊來實現(xiàn)WebSocket通信。Spring Boot是基于Spring框架構(gòu)建的,它提供了一些方便的注解和自動配置來簡化WebSocket的開發(fā)。 @MessageMapping注解是Spring B

    2024年02月12日
    瀏覽(86)
  • Spring Boot 中的 @PutMapping 注解是什么,原理,如何使用

    Spring Boot 中的 @PutMapping 注解是什么,原理,如何使用

    在 Spring Boot 中,@PutMapping 是一種注解,它可以將 HTTP PUT 請求映射到指定的處理方法上。本文將介紹 @PutMapping 的原理以及如何在 Spring Boot 中使用它。 在 RESTful API 中,PUT 請求常用于更新資源。例如,我們可以使用 PUT 請求將一個用戶的信息更新到服務(wù)器上。在 Spring Boot 中,我

    2024年02月08日
    瀏覽(26)
  • Spring Boot 中的 @RabbitListener 注解是什么,原理,如何使用

    Spring Boot 中的 @RabbitListener 注解是什么,原理,如何使用

    在 RabbitMQ 中,消息的接收需要通過監(jiān)聽隊列來實現(xiàn)。在 Spring Boot 應(yīng)用程序中,可以使用 @RabbitListener 注解來監(jiān)聽隊列,并在接收到消息時執(zhí)行指定的方法。本文將介紹 @RabbitListener 注解的原理、使用方法和常見應(yīng)用場景。 @RabbitListener 注解是 Spring AMQP 框架中的一個關(guān)鍵組件,

    2024年02月09日
    瀏覽(95)
  • Spring Boot 中的 @ComponentScan 注解是什么,原理,如何使用

    Spring Boot 中的 @ComponentScan 注解是什么,原理,如何使用

    在 Spring Boot 中,@ComponentScan 是一種注解,它可以讓 Spring 自動掃描指定的包及其子包中的組件,并將這些組件自動裝配到 Spring 容器中。本文將介紹 @ComponentScan 的原理以及如何在 Spring Boot 中使用它。 在 Spring 中,組件是指那些被 Spring 管理的對象,比如 Bean、Controller、Servic

    2024年02月11日
    瀏覽(35)
  • Spring Boot 中的 @FeignClient 注解是什么,原理,如何使用

    Spring Boot 中的 @FeignClient 注解是什么,原理,如何使用

    在微服務(wù)架構(gòu)中,服務(wù)之間的調(diào)用是非常頻繁的。為了簡化服務(wù)之間的調(diào)用,Spring Boot 提供了一個叫做 Feign 的組件。Feign 可以幫助我們定義和實現(xiàn)服務(wù)之間的 RESTful 接口,使得服務(wù)之間的調(diào)用更加方便和可靠。在本文中,我們將深入探討 Spring Boot 中的 @FeignClient 注解是什么,

    2024年02月09日
    瀏覽(91)
  • Spring Boot 中的 @RefreshScope 注解是什么,原理,如何使用

    Spring Boot 中的 @RefreshScope 注解是什么,原理,如何使用

    在 Spring Boot 中,@RefreshScope 注解是一個非常有用的注解。它可以讓 Spring Boot 應(yīng)用程序在運行時重新加載配置。這意味著您可以在不停止和重新啟動應(yīng)用程序的情況下更改配置。在本文中,我們將介紹 @RefreshScope 注解的原理和如何在 Spring Boot 應(yīng)用程序中使用它。 @RefreshScope 是

    2024年02月13日
    瀏覽(23)
  • Spring Boot中的@EnableWebSocketMessageBroker注解是什么,原理,以及如何使用

    Spring Boot中的@EnableWebSocketMessageBroker注解是什么,原理,以及如何使用

    WebSocket是一種在Web瀏覽器和Web服務(wù)器之間進(jìn)行雙向通信的技術(shù)。在傳統(tǒng)的HTTP通信中,客戶端向服務(wù)器發(fā)送請求,服務(wù)器響應(yīng)請求,然后關(guān)閉連接。而在WebSocket中,客戶端和服務(wù)器之間的連接始終保持打開狀態(tài),可以隨時互相發(fā)送消息,實現(xiàn)實時通信。 Spring Boot提供了對WebSo

    2024年02月12日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包