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

SpringBoot常用注解,thymeleaf,數(shù)據(jù)提交的實(shí)現(xiàn)

 更新時(shí)間:2026年01月15日 14:15:26   作者:黑白極客  
SpringBoot簡(jiǎn)化了微服務(wù)配置,提供快速啟動(dòng)和內(nèi)嵌容器化web項(xiàng)目,常用注解包括@Component、@RestController等,Thymeleaf為前端頁(yè)面渲染提供支持,數(shù)據(jù)提交時(shí)需使用@RequestBody注解

前言

Spring Boot主要解決的是在微服務(wù)的架構(gòu)下簡(jiǎn)化配置(快速有效),前后端分離,快速開發(fā)。提供了快速啟動(dòng),內(nèi)嵌容器化web項(xiàng)目,開箱即用提供了默認(rèn)配置,沒有繁瑣的xml配置和冗余代碼。

本文見簡(jiǎn)單聊一下常用注解,thymeleaf和數(shù)據(jù)提交時(shí)需要注意的小問題。

1 快速配置

主要是通過了maven對(duì)包進(jìn)行管理,需要那些插件的時(shí)候直接在pom文件中引入即可。

Spring Boot Starter 中提供了 Spring, Spring MVC , Spring Boot,Tomcat等框架。

而每一個(gè)框架都有自己的配置文件,在沒有Spring Boot框架的時(shí)候,我們每次創(chuàng)建一個(gè)項(xiàng)目時(shí),都需要對(duì)這些框架的配置文件進(jìn)行一次調(diào)整。

而Spring Boot給我們提供了默認(rèn)的配置,也就是我們創(chuàng)建完成之后就可以直接啟動(dòng)。那么對(duì)于簡(jiǎn)單的運(yùn)行使用默認(rèn)配置就足夠了,對(duì)于真實(shí)的項(xiàng)目來說,默認(rèn)配置往往是不夠的。

Spring Boot提供了全局的一個(gè)配置文件來對(duì)所有的框架參數(shù)進(jìn)行配置,application.yaml或application.propertis。

快速啟動(dòng)對(duì)開發(fā)和運(yùn)維來說都減輕了負(fù)擔(dān)。

比如以往可能對(duì)于上線的項(xiàng)目,如果想要修改一下tomcat中的配置文件,可能需要跨部門去操作,還需要發(fā)郵件等,而Spring Boot中內(nèi)嵌了tomcat,這個(gè)tomcat只運(yùn)行這一個(gè)項(xiàng)目,想要怎么調(diào)整我們程序員都可以直接操作,而且不會(huì)對(duì)其它的項(xiàng)目造成影響。

同時(shí)啟動(dòng)的時(shí)候也只需要依賴服務(wù)器上的jdk,一行java -jar xxx.jar即可啟動(dòng)。對(duì)于微服務(wù)來說是非常友好的。

2 常用注解

@Component注解

是一個(gè)比較通用的注解,用來標(biāo)識(shí)這個(gè)類是一個(gè)組件,交給我們springboot容器來管理。默認(rèn)是singleton單例的。

可以用在我們的controller,service,dao層,但是為了便于區(qū)分。

出現(xiàn)了@Controller,@Service,@Dao注解。

@Controller注解

但是底層還是調(diào)用了@Component注解

在Spring Boot中還有一個(gè)注解,@RestController注解。

這個(gè)注解在底層調(diào)用了@Controller注解就是調(diào)用了@Component,同時(shí)調(diào)用了一個(gè)@ResponseBody注解,其實(shí)在我們controller層之上還有一個(gè)UI層,我們返回的數(shù)據(jù)會(huì)通過UI渲染,如果添加了@ResponseBody注解繞過UI層,直接以一種文本的形式傳輸?shù)角岸恕?/p>

3 thymeleaf

thymeleaf是渲染前端頁(yè)面的一個(gè)引擎,特別的輕量級(jí),并且在web不啟動(dòng)的情況下,也可以正確展示瀏覽頁(yè),(這個(gè)thymeleaf字面意思好像是什么樹葉,寓意這它特別的輕量級(jí)吧,具體我不記得了,但是不重要哈哈)。

用maven引入thymeleaf

        <!--前端交互插件-->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf</artifactId>
            <version>3.1.1.RELEASE</version>
        </dependency>

如果不生效或者出現(xiàn)其它問題解決起來比較棘手,可以刪除掉thymeleaf的pom文件

通過下面配置找到html文件

spring:
  mvc:
    view:
      prefix: /
      suffix: .html

當(dāng)我們controller層返回的是String類型的時(shí)候,就會(huì)去查找指定名稱的頁(yè)面,返回指定的頁(yè)面

@Controller
@RestController
@RequestMapping("/whx")
public class MainController {

    @RequestMapping("/html")
    public String openHtml(){
        System.out.println("hello,word");
        return "list";
    }
}


假如我們添加了@Responsebody注解,就不會(huì)走ui的渲染,而是直接以文本的形式展示出來

@Controller
@RequestMapping("/whx")
public class MainController {

    @RequestMapping("/html")
    @ResponseBody
    public String openHtml(){
        System.out.println("hello,word");
        return "list";
    }



}

交互流程

controller層和web頁(yè)面都在我們的context(上下文)中,controller層返回?cái)?shù)據(jù)的時(shí)候會(huì)返回到上下文context中,頁(yè)面需要數(shù)據(jù)的時(shí)候通過thymeleaf從context中獲取解析。

4 數(shù)據(jù)提交

使用的時(shí)候發(fā)現(xiàn),如果我們以在請(qǐng)求體里面以json的格式提交數(shù)據(jù),后臺(tái)必須使用@RequestBody來標(biāo)注參數(shù)才可以取到。

使用HttpServletRequest也獲取不到 請(qǐng)求體里面以json格式提交的數(shù)據(jù)

演示代碼

    @PostMapping("/register")
    public String registerP(HttpServletRequest request,@RequestBody Account account){
        System.out.println(request.getParameter("loginName"));
        System.out.println(ToStringBuilder.reflectionToString(request));
        System.out.println(ToStringBuilder.reflectionToString(account));
        return  "register";
    }

運(yùn)行結(jié)果

1234
org.apache.catalina.connector.RequestFacade@12517783[request=org.apache.catalina.connector.Request@7e49b0d1]
cn.wanghaixin.solution.dto.Account@3ec7283[id=<null>,loginName=1,2,3,password=1,2,3,nickName=1,2,3,age=1,location=1]

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 聊聊如何在springboot中添加模版

    聊聊如何在springboot中添加模版

    本文,我們談?wù)勅绾卧?nbsp;spring boot 中添加模版,因?yàn)橛袝r(shí)候我們也是需要后端渲染的嘛,比如公司官網(wǎng),文中有詳細(xì)的代碼示例供我們參考,需要的朋友可以參考下
    2023-08-08
  • 如何利用Spring?MVC實(shí)現(xiàn)RESTful風(fēng)格

    如何利用Spring?MVC實(shí)現(xiàn)RESTful風(fēng)格

    這篇文章主要介紹了如何利用Spring?MVC實(shí)現(xiàn)RESTful風(fēng)格,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • kaptcha驗(yàn)證碼使用方法詳解

    kaptcha驗(yàn)證碼使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了kaptcha驗(yàn)證碼的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 淺談Java中ArrayList線程不安全怎么辦

    淺談Java中ArrayList線程不安全怎么辦

    本文主要介紹了Java中ArrayList線程不安全怎么辦,主要有三種解決的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java中return的用法(兩種)

    Java中return的用法(兩種)

    這篇文章主要介紹了Java中return的用法(兩種)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java自定義異常_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java自定義異常_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java自定義異常_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • springboot+mybatis一對(duì)多查詢+懶加載實(shí)例

    springboot+mybatis一對(duì)多查詢+懶加載實(shí)例

    文章介紹了如何在Spring Boot和MyBatis中實(shí)現(xiàn)一對(duì)多查詢的懶加載,通過配置MyBatis的`fetchType`屬性,可以全局啟用懶加載,或者在個(gè)別需要時(shí)關(guān)閉懶加載,文章通過代碼示例和測(cè)試結(jié)果,展示了懶加載的實(shí)現(xiàn)過程
    2025-11-11
  • LeetCode程序員面試題之遞歸乘法

    LeetCode程序員面試題之遞歸乘法

    在Java中,遞歸乘法是一種簡(jiǎn)單而有效的方法,可以用來計(jì)算兩個(gè)數(shù)字的乘積。它的基本思想是:如果第一個(gè)數(shù)字是0,則乘積為0;如果第一個(gè)數(shù)字是1,則乘積為第二個(gè)數(shù)字;其他情況,則通過將第一個(gè)數(shù)字減1,并將第二個(gè)數(shù)字與自身相乘,來實(shí)現(xiàn)遞歸乘法。
    2023-02-02
  • springboot項(xiàng)目中添加自定義日志及配置過程

    springboot項(xiàng)目中添加自定義日志及配置過程

    這篇文章主要介紹了springboot項(xiàng)目中添加自定義日志,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • SpringBoot中使用SpringSecurity進(jìn)行權(quán)限控制的示例代碼

    SpringBoot中使用SpringSecurity進(jìn)行權(quán)限控制的示例代碼

    本文將詳細(xì)介紹如何在Spring Boot應(yīng)用程序中使用Spring Security進(jìn)行權(quán)限控制,我們將探討Spring Security的基本概念,以及如何使用Spring Security實(shí)現(xiàn)認(rèn)證和授權(quán),需要的朋友可以參考下
    2024-02-02

最新評(píng)論

云阳县| 博罗县| 屏东县| 阿拉尔市| 天峻县| 闸北区| 舟曲县| 利辛县| 博罗县| 都江堰市| 昌吉市| 普兰店市| 甘洛县| 毕节市| 东城区| 河西区| 海兴县| 望奎县| 肥乡县| 孟连| 丰城市| 老河口市| 兴仁县| 常德市| 宿迁市| 清徐县| 绥芬河市| 佳木斯市| 张家港市| 肇州县| 张北县| 乃东县| 德庆县| 湘潭市| 连城县| 涞源县| 泾源县| 陆丰市| 铜陵市| 靖安县| 尼玛县|