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

SpringBoot常用注解,thymeleaf,數據提交的實現

 更新時間:2026年01月15日 14:15:26   作者:黑白極客  
SpringBoot簡化了微服務配置,提供快速啟動和內嵌容器化web項目,常用注解包括@Component、@RestController等,Thymeleaf為前端頁面渲染提供支持,數據提交時需使用@RequestBody注解

前言

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

本文見簡單聊一下常用注解,thymeleaf和數據提交時需要注意的小問題。

1 快速配置

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

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

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

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

Spring Boot提供了全局的一個配置文件來對所有的框架參數進行配置,application.yaml或application.propertis。

快速啟動對開發(fā)和運維來說都減輕了負擔。

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

同時啟動的時候也只需要依賴服務器上的jdk,一行java -jar xxx.jar即可啟動。對于微服務來說是非常友好的。

2 常用注解

@Component注解

是一個比較通用的注解,用來標識這個類是一個組件,交給我們springboot容器來管理。默認是singleton單例的。

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

出現了@Controller,@Service,@Dao注解。

@Controller注解

但是底層還是調用了@Component注解

在Spring Boot中還有一個注解,@RestController注解。

這個注解在底層調用了@Controller注解就是調用了@Component,同時調用了一個@ResponseBody注解,其實在我們controller層之上還有一個UI層,我們返回的數據會通過UI渲染,如果添加了@ResponseBody注解繞過UI層,直接以一種文本的形式傳輸到前端。

3 thymeleaf

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

用maven引入thymeleaf

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

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

通過下面配置找到html文件

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

當我們controller層返回的是String類型的時候,就會去查找指定名稱的頁面,返回指定的頁面

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

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


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

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

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



}

交互流程

controller層和web頁面都在我們的context(上下文)中,controller層返回數據的時候會返回到上下文context中,頁面需要數據的時候通過thymeleaf從context中獲取解析。

4 數據提交

使用的時候發(fā)現,如果我們以在請求體里面以json的格式提交數據,后臺必須使用@RequestBody來標注參數才可以取到。

使用HttpServletRequest也獲取不到 請求體里面以json格式提交的數據

演示代碼

    @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";
    }

運行結果

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]

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

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

    聊聊如何在springboot中添加模版

    本文,我們談談如何在 spring boot 中添加模版,因為有時候我們也是需要后端渲染的嘛,比如公司官網,文中有詳細的代碼示例供我們參考,需要的朋友可以參考下
    2023-08-08
  • 如何利用Spring?MVC實現RESTful風格

    如何利用Spring?MVC實現RESTful風格

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

    kaptcha驗證碼使用方法詳解

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

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

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

    Java中return的用法(兩種)

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

    Java自定義異常_動力節(jié)點Java學院整理

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

    springboot+mybatis一對多查詢+懶加載實例

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

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

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

    springboot項目中添加自定義日志及配置過程

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

    SpringBoot中使用SpringSecurity進行權限控制的示例代碼

    本文將詳細介紹如何在Spring Boot應用程序中使用Spring Security進行權限控制,我們將探討Spring Security的基本概念,以及如何使用Spring Security實現認證和授權,需要的朋友可以參考下
    2024-02-02

最新評論

上犹县| 寿光市| 七台河市| 如东县| 石泉县| 江门市| 江源县| 山西省| 浠水县| 香格里拉县| 兴国县| 罗源县| 赤峰市| 汪清县| 松江区| 石狮市| 罗田县| 翁源县| 门源| 淄博市| 兴安盟| 保亭| 邵东县| 莒南县| 黄梅县| 温州市| 炎陵县| 高碑店市| 苍山县| 迁安市| 桐梓县| 剑川县| 孝义市| 武冈市| 德庆县| 清水河县| 淄博市| 屏山县| 绵竹市| 安义县| 望江县|