久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SpringBoot(3)

 夜貓速讀 2022-05-05 發(fā)布于湖北


什么是SpringBoot

Boot:?jiǎn)?dòng),引導(dǎo),,電話或者電腦,,完整的開啟過程叫啟動(dòng)

SpringBoot:Spring 環(huán)境啟動(dòng)管理器,可以“0”配置完成Spring環(huán)境的搭建,,可以大大簡(jiǎn)化Spring軟件的配置開發(fā)過程,。

使用IDEA創(chuàng)建SpringBoot項(xiàng)目

1、創(chuàng)建項(xiàng)目

2,、創(chuàng)建項(xiàng)目

3,、選擇SpringBoot 2.3.8

4、填寫項(xiàng)目名稱

SpringBoot HelloWorld

  1. 創(chuàng)建beans包,,并且創(chuàng)建JavaBean類

package cn.yemao.springboot01.beans;
import org.springframework.stereotype.Component;
import java.io.Serializable;
@Componentpublic class DemoBean implements Serializable { @Override public String toString() { return "Hello World,!"; }}

2、在測(cè)試類中進(jìn)行測(cè)試:

/** * SpringBoot 整合了JUnit5 * 1. 測(cè)試類需要和啟動(dòng)類在相同的包 * 2. 需要標(biāo)注@SpringBootTest * 3. 可以注入Spring中的JavaBean對(duì)象 * 4. 測(cè)試類和方法,,可以不是 public 的 */@SpringBootTestclass SpringBoot01ApplicationTests {
@Resource private DemoBean demoBean; @Test void contextLoads() { System.out.println(demoBean); }}

SpringBoot 項(xiàng)目說明:

SpringBoot啟動(dòng)類:

/** * SpringBoot 的啟動(dòng)類就是Spring的配置類,SpringBoot項(xiàng)目自動(dòng)創(chuàng)建了啟動(dòng)類 * 1. 必須標(biāo)注@SpringBootApplication注解 * 2. 提供組件掃描,自動(dòng)掃描當(dāng)前包和子包 * 3. 啟動(dòng)類,,就是配置類,,可以使用@Bean聲明JavaBean對(duì)象 */

SpringBoot測(cè)試類:

/** * SpringBoot 整合了JUnit5 * 1. 測(cè)試類需要和啟動(dòng)類在相同的包 * 2. 需要標(biāo)注@SpringBootTest * 3. 可以注入Spring中的JavaBean對(duì)象 * 4. 測(cè)試類和方法,可以不是 public 的 */

SpringBoot 腳手架

SpringBoot 提供了項(xiàng)目搭建網(wǎng)站,,稱為:腳手架

  • https://start. 是Spring官方提供了腳手架網(wǎng)站,,由于眾所周知的原因,訪問有時(shí)候不通

  • https://start.aliyun.com 是阿里提供的腳手架網(wǎng)站,,訪問沒有問題,,阿里提供了一些特殊的擴(kuò)展,創(chuàng)建的項(xiàng)目 pom.xml 和 官方網(wǎng)站 略有不同,。

  • IDEA Spring 項(xiàng)目創(chuàng)建向?qū)Ь褪沁B接到這些腳手架網(wǎng)站下載項(xiàng)目模板,。如果網(wǎng)絡(luò)有故障,,則會(huì)出現(xiàn)無法創(chuàng)建項(xiàng)目的問題!

  • 創(chuàng)建項(xiàng)目期間需要從Maven倉(cāng)庫(kù)下載大量的包,,所以請(qǐng)事先保證Maven倉(cāng)庫(kù)配置正確,!

SpringBoot 搭建Tomcat服務(wù)器

SpringBoot 已經(jīng)將Tomcat作為模塊,配置好了,。只需要將 Web依賴包 到人到項(xiàng)目中就自動(dòng)完成配置,!

執(zhí)行啟動(dòng)類Tomcat服務(wù)器就可以運(yùn)行了!

  1. 在SpringBoot項(xiàng)目中添加 web 依賴, 重新加載Maven,,就會(huì)自動(dòng)安裝配置Tomcat:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>
  1. 在resources文件夾中添加 static 文件夾,,這個(gè)文件夾是Tomcat發(fā)布的web文件夾

  2. 在static文件夾中添加index.html, 就是網(wǎng)站的首頁

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title></head><body>  <h1>Hello World!</h1></body></html>
  1. 執(zhí)行項(xiàng)目的啟動(dòng)類,在控制臺(tái)上能夠看到 Tomcat 啟動(dòng),,并且監(jiān)聽了8080端口

  2. 測(cè)試 http://localhost:8080 就可以訪問 網(wǎng)站首頁

直接創(chuàng)建SpringBoot web項(xiàng)目

創(chuàng)建SpringBoot項(xiàng)目時(shí)候,,勾選web即可!

  1. 創(chuàng)建SpringBoot項(xiàng)目

  2. 勾選 web 組件

在 resources\static 文件夾中添加 index.html,,index.html 是默認(rèn)訪問網(wǎng)頁

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title></head><body>  <h2>Hello World!</h2></body></html>
    1. 執(zhí)行啟動(dòng)類,,能夠看到 Tomcat 啟動(dòng)消息

    2. 瀏覽器訪問  localhost:8080 測(cè)試

修改Tomcat端口號(hào)

SpringBoot項(xiàng)目統(tǒng)一了配置文件application.properties, 程序的所有參數(shù)都在這個(gè)文件中集中管理,其中也包括 Tomcat的端口號(hào),,如果希望修改Tomcat的端口號(hào),,就在application.properties填寫下面配置信息:

# 修改Tomcat 服務(wù)器的端口號(hào)server.port=8088

這樣啟動(dòng)SpringBoot就可以訪問 http://localhost:8088

Maven 配置

創(chuàng)建SpringBoot項(xiàng)目之前請(qǐng)務(wù)必保證Maven倉(cāng)庫(kù)配置好

SpringMVC

什么是SpringMVC

Spring MVC也稱為Spring WebMVC,Spring提供的 WEB 編程框架,,實(shí)現(xiàn)MVC設(shè)計(jì)模式,。使用Spring MVC 可以大大簡(jiǎn)化Web應(yīng)用程序的開發(fā)??梢岳斫鉃?SpringMVC是Web程序的半成品,,只要寫很少的代碼就可以快速開發(fā)Web應(yīng)用程序。

使用SpringMVC

單獨(dú)使用Spring MVC需要一個(gè)繁瑣的配置過程,,SpringBoot簡(jiǎn)化了SpringMVC的配置,,只需要導(dǎo)入spring-boot-starter-web,就默認(rèn)配置好了Spring MVC,。使用時(shí)候無需配置,,直接編寫控制器就可以工作:

Spring MVC Hello World

  1. 直接編寫一個(gè)控制器,用于處理Web請(qǐng)求

    1. @GetMapping("URL") 注解標(biāo)注在方法上,,則這個(gè)方法就能處理瀏覽器的URL請(qǐng)求

    2. 方法的字符串返回值就會(huì)作為響應(yīng)發(fā)送到瀏覽器

  2. 執(zhí)行啟動(dòng)類,,啟動(dòng)服務(wù)器

  3. 瀏覽器訪問 URL 就能顯示結(jié)果

案例:

編寫控制器:

/** * @Controller 專門用于聲明Spring MVC中的控制器Bean! * 控制器 是專門用于出了 web url 請(qǐng)求的Java類 */@Controllerpublic class DemoController {    /**     *  @GetMapping("/demo") 注解的意義:處理瀏覽器發(fā)送的     *  get請(qǐng)求,,請(qǐng)求路徑:http://localhost:8088/demo     *  用戶請(qǐng)求了/demo,,則執(zhí)行方法 demo()     *  返回值 會(huì)作為 信息返回到瀏覽器     *  @ResponseBody 的作用:將方法的返回值直接發(fā)送到 瀏覽器     * @return     */    @GetMapping("/demo")    @ResponseBody    public String demo(){        System.out.println("執(zhí)行了 demo()");        return "Hello World!";    }}

啟動(dòng)SpringBoot后測(cè)試:http://localhost:8088/demo

使用Thymeleaf 作為視圖

SpringBoot 推薦使用Thymeleaf作為網(wǎng)頁模板視圖,已經(jīng)內(nèi)嵌支持,配置步驟非常簡(jiǎn)單:

  1. 導(dǎo)入Thymeleaf 依賴:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

thymeleaf 模板放在 resources/templates 文件夾,,如在文件夾中編寫模板 demo.html

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title></head><body>  <h1>這是一個(gè)模板,!</h1></body></html>

控制器方法返回 ModelAndView,表示數(shù)據(jù)送到視圖

@GetMapping("/show")public ModelAndView show(){  return new ModelAndView("demo"); //demo.html}
  1. 啟動(dòng)后測(cè)試:http://localhost:8088/show

控制器方法的返回值:

  1. 標(biāo)注了@ResponseBody Spring MVC會(huì)自動(dòng)處理控制器返回

    1. (不常用)如果是字符串,,就直接作為 Response 的正文信息送到瀏覽器

    2. (常用)如果是Java Bean 對(duì)象,,就序列化為JSON,作為Response 的正文信息送到瀏覽器,,支持Ajax功能的,!

    3. (很少用)如果 BufferedImage 對(duì)象就會(huì) 顯示圖片, 很少使用!

    4. 如果返回ModelAndView,,就轉(zhuǎn)發(fā)到對(duì)應(yīng)的模板顯示模板信息

    5. ...

  2. 如果返回字符串,,就是直接轉(zhuǎn)發(fā)到 模板,是ModelAndView 的簡(jiǎn)化版本

  3. 返回 ModelAndView 轉(zhuǎn)發(fā)到 模板

將控制器方法返回視圖名稱:

@GetMapping("/show2")public String show2(){    /**     * 不標(biāo)注 @ResponseBody 時(shí)候,,直接返回字符串作為模板名     * Spring 會(huì)查找相應(yīng)模板作為顯示結(jié)果     */    return "demo"; //demo.html}

測(cè)試:http://localhost:8088/show2

標(biāo)注@ResponseBody后將JavaBean作為返回值,,會(huì)轉(zhuǎn)換為JSON:

JavaBean:

public class DemoBean implements Serializable {    private String name = "Demo";    private Double price = 8.88;    private Integer times = 230;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Double getPrice() { return price; }
public void setPrice(Double price) { this.price = price; }
public Integer getTimes() { return times; }
public void setTimes(Integer times) { this.times = times; }}

控制器:

@GetMapping("/demobean")@ResponseBodypublic DemoBean demoBean(){    /**     * 如果標(biāo)注了@ResponseBody 并且返回值是一個(gè)JavaBean     * 則會(huì)被序列化為一個(gè)JSON字符串返回     * 將對(duì)象轉(zhuǎn)換為JSON稱為:JSON序列化     * 請(qǐng)求URL:http://localhost:8088/demobean     */    return new DemoBean();}

測(cè)試:http://localhost:8088/demobean

在視圖模板上顯示數(shù)據(jù)

軟件中經(jīng)常需要控制器數(shù)據(jù)傳遞到模板中顯示,,比如數(shù)據(jù)庫(kù)查詢結(jié)果,,數(shù)據(jù)計(jì)算結(jié)果等。Spring MVC中的ModelAndView對(duì)象架起了控制器和視圖的溝通橋梁,,ModelAndView中封裝了視圖名稱和需要顯示的數(shù)據(jù),。控制器返回ModelAndView時(shí)候,,Spring MVC的前端控制器(DispatcherServlet)就會(huì)調(diào)用視圖解析器(ViewResolver)找到視圖頁面,,并且將視圖和數(shù)據(jù)合并生成最后的網(wǎng)頁,再將網(wǎng)頁發(fā)送給客戶的瀏覽器,。瀏覽器中就顯示了數(shù)據(jù),。

原理:

實(shí)現(xiàn)步驟

  1. 在resources/template文件夾創(chuàng)建模板文件 msg.html

<!DOCTYPE html><html lang="cn" xmlns:th="http://www."><head>  <meta charset="UTF-8">  <title>Title</title></head><body>  <h1>在模板中顯示消息</h1>  <p th:text="${message}"></p></body></html>

編寫控制器方法:

@GetMapping("/message")public ModelAndView msg(){    // 轉(zhuǎn)發(fā)到視圖:msg.html    ModelAndView mv = new ModelAndView("msg");    //向視圖傳遞數(shù)據(jù) message:"哈嘍"    mv.addObject("message", "哈嘍");    //Spring MVC的視圖解析器會(huì)根據(jù)返回值找到 msg.html    //并且進(jìn)行模板數(shù)據(jù)替換,顯示數(shù)據(jù)    return mv;}
  1. 測(cè)試:http://localhost:8088/message

簡(jiǎn)化傳遞數(shù)據(jù)的方案:

編寫控制器方法:

@GetMapping("/message2")public String msg2(Map map){    /**     * 參數(shù)可以是 ModelMap HashMap Map 都可以     * 將向模板傳遞的數(shù)據(jù),,存儲(chǔ)到map中     */    map.put("message", "數(shù)據(jù)");    //返回視圖名稱    return "msg";}

測(cè)試:http://localhost:8088/message2

Spring MVC

處理流程:

Spring 提供半成品Web應(yīng)用程序,。只需要添加控制器和視圖模板就可以快速的編寫Web程序。

視圖模板:視圖模板是在網(wǎng)頁基礎(chǔ)上添加了 th:屬性,,在服務(wù)器上進(jìn)行標(biāo)簽替換以后才變成HTML網(wǎng)頁

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多