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

Spring Boot單元測(cè)試與熱部署簡(jiǎn)析

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot單元測(cè)試與熱部署簡(jiǎn)析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1? ? ? ? Spring Boot的簡(jiǎn)介

Spring Boot是一個(gè)用于構(gòu)建獨(dú)立的、生產(chǎn)級(jí)別的Spring應(yīng)用程序的框架。它簡(jiǎn)化了Spring應(yīng)用程序的開(kāi)發(fā)過(guò)程,提供了自動(dòng)配置和默認(rèn)配置,使得開(kāi)發(fā)者只需專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不用去關(guān)注繁瑣的配置問(wèn)題。

Spring Boot具有以下特點(diǎn):

  1. 簡(jiǎn)化配置:Spring Boot通過(guò)自動(dòng)配置機(jī)制來(lái)減少配置的工作量。它會(huì)根據(jù)項(xiàng)目的依賴自動(dòng)配置相關(guān)的組件,開(kāi)發(fā)者只需要添加依賴和一些簡(jiǎn)單的配置即可。

  2. 快速開(kāi)發(fā):Spring Boot提供了一套完整的開(kāi)發(fā)工具,包括代碼生成器、熱部署等,可以大大加快開(kāi)發(fā)速度。

  3. 微服務(wù)支持:Spring Boot天生支持微服務(wù)架構(gòu),可以方便地構(gòu)建和部署獨(dú)立的微服務(wù)應(yīng)用程序。

  4. 內(nèi)嵌服務(wù)器:Spring Boot內(nèi)嵌了常見(jiàn)的Web服務(wù)器(如Tomcat、Jetty等),可以以獨(dú)立應(yīng)用程序的形式運(yùn)行,不需要額外安裝Web服務(wù)器。

  5. 監(jiān)控和管理:Spring Boot提供了豐富的監(jiān)控和管理功能,可以方便地監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài)和健康狀況。

2? ? ? ?Spring Boot的單元測(cè)試以及熱部署的相關(guān)知識(shí)

Spring Boot 提供了很好的支持來(lái)編寫(xiě)單元測(cè)試和實(shí)現(xiàn)熱部署。下面我將簡(jiǎn)要介紹一下這兩個(gè)方面的相關(guān)知識(shí)。

2.1????????單元測(cè)試: Spring Boot 使用了JUnit作為默認(rèn)的單元測(cè)試框架,可以通過(guò)注解@RunWith(SpringRunner.class)來(lái)指定運(yùn)行器,以便在測(cè)試過(guò)程中初始化Spring的應(yīng)用上下文。 你可以使用@SpringBootTest注解標(biāo)注測(cè)試類,以便在測(cè)試期間初始化Spring Boot應(yīng)用的完整上下文。 你還可以使用@MockBean和@Mockito等注解來(lái)模擬依賴的外部組件或服務(wù)。 另外,Spring Boot還提供了一些其他有用的注解,如@DataJpaTest和@WebMvcTest等,用于測(cè)試特定領(lǐng)域或Web層的代碼。

以下是在Spring Boot中進(jìn)行單元測(cè)試和相關(guān)部署的一些常用方法和技巧:

  • 使用JUnit:JUnit是Java開(kāi)發(fā)中最常用的單元測(cè)試框架之一。Spring Boot默認(rèn)使用JUnit進(jìn)行單元測(cè)試,可以使用@RunWith(SpringRunner.class)注解來(lái)啟用Spring Boot的測(cè)試支持??梢允褂?code>@Test注解來(lái)標(biāo)記測(cè)試方法。

  • 使用Mockito:Mockito是一個(gè)用于創(chuàng)建和管理模擬對(duì)象(mock objects)的Java庫(kù)。在單元測(cè)試中,我們可以使用Mockito來(lái)模擬一些外部依賴,以便更好地控制測(cè)試環(huán)境。例如,我們可以使用Mockito來(lái)模擬數(shù)據(jù)庫(kù)訪問(wèn),而不是實(shí)際訪問(wèn)數(shù)據(jù)庫(kù)。

  • 使用Spring Boot Test:Spring Boot Test提供了一系列用于測(cè)試Spring Boot應(yīng)用程序的注解和類。例如,@SpringBootTest注解可以用于加載整個(gè)應(yīng)用程序上下文,并進(jìn)行集成測(cè)試。@WebMvcTest注解可以用于測(cè)試Web層的控制器。

  • 使用測(cè)試配置文件:Spring Boot允許我們?cè)趩卧獪y(cè)試中使用不同的配置文件,以便更好地控制測(cè)試環(huán)境??梢允褂?code>@TestProperites注解來(lái)指定測(cè)試配置文件的路徑。在測(cè)試配置文件中,我們可以覆蓋一些配置項(xiàng),例如數(shù)據(jù)庫(kù)連接、緩存配置等。

  • 使用斷言和斷言庫(kù):在單元測(cè)試中,我們通常需要驗(yàn)證期望的結(jié)果與實(shí)際結(jié)果是否一致??梢允褂肑Unit的斷言方法,如assertEqualsassertTrue來(lái)進(jìn)行驗(yàn)證。此外,還可以使用一些流行的斷言庫(kù),如AssertJ和Hamcrest來(lái)提供更多的斷言方法。

  • 運(yùn)行單元測(cè)試:在Spring Boot中,我們可以使用Maven或Gradle等構(gòu)建工具來(lái)運(yùn)行單元測(cè)試??梢允褂?code>mvn test或gradle test命令來(lái)執(zhí)行單元測(cè)試。

2.2????????熱部署: 在開(kāi)發(fā)階段,熱部署可以使你的代碼更快地重新部署和運(yùn)行。Spring Boot支持兩種類型的熱部署:

  • 通過(guò)使用spring-boot-devtools模塊,你可以在應(yīng)用啟動(dòng)時(shí)自動(dòng)配置熱部署。只需將該模塊添加到依賴中即可,無(wú)需進(jìn)行其他配置。
  • 通過(guò)使用spring-boot-maven-plugin插件,你可以在代碼改變時(shí)重新啟動(dòng)應(yīng)用。只需在pom.xml文件中添加該插件的配置,并運(yùn)行mvn spring-boot:run命令即可。
  1. 另外,熱部署還有一些其他的選項(xiàng)和配置方式,如使用Spring Loaded或JRebel等第三方工具。

以下是一些常用的熱部署技巧和方法:

  • 使用開(kāi)發(fā)工具的自動(dòng)重載功能:許多集成開(kāi)發(fā)環(huán)境(IDE)和開(kāi)發(fā)工具都提供了自動(dòng)重載功能,可以自動(dòng)監(jiān)視代碼的變化并重新加載應(yīng)用程序。例如,Eclipse中的Spring Loaded插件、IntelliJ IDEA中的Spring Boot DevTools等。
  • 使用Spring Boot的開(kāi)發(fā)者工具(DevTools):Spring Boot DevTools提供了一套開(kāi)發(fā)者工具,可以實(shí)現(xiàn)熱部署和快速重新啟動(dòng)應(yīng)用程序。它會(huì)監(jiān)視應(yīng)用程序的類文件和資源文件的變化,并在檢測(cè)到變化時(shí)自動(dòng)重新加載應(yīng)用程序。
  • 使用JRebel:JRebel是一個(gè)用于Java開(kāi)發(fā)的工具,可以實(shí)現(xiàn)即時(shí)的代碼熱部署。它可以監(jiān)視文件的變化,并將修改的類文件和資源文件重新加載到運(yùn)行中的應(yīng)用程序中,從而避免了重新啟動(dòng)應(yīng)用程序。
  • 使用Docker容器:將應(yīng)用程序部署在Docker容器中,可以實(shí)現(xiàn)快速部署和更新。通過(guò)構(gòu)建一個(gè)容器鏡像并運(yùn)行容器,可以在容器內(nèi)部使用熱部署技術(shù)來(lái)更新代碼。修改后的容器鏡像可以輕松地重新部署到生產(chǎn)環(huán)境中。

使用熱部署插件:一些特定的框架和工具提供了熱部署插件,可以用于在開(kāi)發(fā)過(guò)程中實(shí)現(xiàn)熱部署。例如,Spring Boot的Spring Loaded插件、JRebel的插件等。這些插件通常會(huì)提供自動(dòng)監(jiān)視和重新加載功能,從而實(shí)現(xiàn)快速開(kāi)發(fā)和調(diào)試。

3? ? ? ? 效果圖

Spring Boot單元測(cè)試與熱部署簡(jiǎn)析,數(shù)據(jù)庫(kù)

4? ? ? ? 項(xiàng)目搭建步驟

在prom.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.sbl</groupId>
    <artifactId>MavenSBlnit</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.1.3.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

</project>

在所創(chuàng)項(xiàng)目下的src.main.java的包下面建立controller包,并建立類HelloWporld

package com.sbl.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorld {
    @GetMapping("/hello")
    public String hello(){
        return "Hello World,i am 小孩 ";
    }
}

在原本創(chuàng)建的類下(及主項(xiàng)目)

package com.sbl;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class
MavenApplication {
    public static void  main(String[] args){
        SpringApplication.run(MavenApplication.class,args);
    }
}

在test在Java文件下的包下建立test類文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-838981.html

package com.sbl.chapter01sbinit;

import com.sbl.controller.HelloWorld;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class Chapter01SbinitApplicationTests {
  @Autowired
  private HelloWorld helloWorld;
    @Test
    public void contextLoads(){
          String hello= helloWorld.hello();
          System.out.println(hello);
      }
}

到了這里,關(guān)于Spring Boot單元測(cè)試與熱部署簡(jiǎn)析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Spring boot 集成單元測(cè)試

    Spring boot 集成單元測(cè)試

    1.引入依賴 2. ?3.編寫(xiě)測(cè)試類

    2024年02月11日
    瀏覽(22)
  • 【Spring Boot】SpringBoot 單元測(cè)試

    【Spring Boot】SpringBoot 單元測(cè)試

    單元測(cè)試(unit testing),是指對(duì)軟件中的最?可測(cè)試單元進(jìn)?檢查和驗(yàn)證的過(guò)程就叫單元測(cè)試。 1、可以?常簡(jiǎn)單、直觀、快速的測(cè)試某?個(gè)功能是否正確。 2、使?單元測(cè)試可以幫我們?cè)诖虬臅r(shí)候,發(fā)現(xiàn)?些問(wèn)題,因?yàn)樵诖虬埃缘膯卧獪y(cè)試必須通過(guò),否則不能打包

    2024年02月07日
    瀏覽(22)
  • Spring Boot單元測(cè)試入門指南

    Spring Boot單元測(cè)試入門指南

    JUnit是一個(gè)成熟和廣泛應(yīng)用的Java單元測(cè)試框架,它提供了豐富的功能和靈活的擴(kuò)展機(jī)制,可以幫助開(kāi)發(fā)人員編寫(xiě)高質(zhì)量的單元測(cè)試。通過(guò)JUnit,開(kāi)發(fā)人員可以更加自信地進(jìn)行重構(gòu)、維護(hù)和改進(jìn)代碼,同時(shí)提高代碼質(zhì)量和可維護(hù)性。 在使用Spring Boot進(jìn)行單元測(cè)試時(shí),以下是一些

    2024年02月15日
    瀏覽(24)
  • 三個(gè)要點(diǎn),掌握Spring Boot單元測(cè)試

    三個(gè)要點(diǎn),掌握Spring Boot單元測(cè)試

    單元測(cè)試是軟件開(kāi)發(fā)中不可或缺的重要環(huán)節(jié),它用于驗(yàn)證軟件中最小可測(cè)試單元的準(zhǔn)確性。 結(jié)合運(yùn)用Spring Boot、JUnit、Mockito和分層架構(gòu),開(kāi)發(fā)人員可以更便捷地編寫(xiě)可靠、可測(cè)試且高質(zhì)量的單元測(cè)試代碼,確保軟件的正確性和質(zhì)量。 本文將從與單元測(cè)試相關(guān)的技術(shù)主題開(kāi)始,

    2024年02月08日
    瀏覽(25)
  • Spring Boot 單元測(cè)試 0基礎(chǔ)教程

    咱們以一種通俗易懂的方式,通過(guò)一個(gè)簡(jiǎn)單的實(shí)例來(lái)教你怎么在Spring Boot項(xiàng)目中進(jìn)行單元測(cè)試。 假設(shè)你有一個(gè)簡(jiǎn)單的Spring Boot應(yīng)用,里面有一個(gè)UserService接口,以及它的實(shí)現(xiàn)類 UserServiceImpl,這個(gè)服務(wù)有一個(gè)方法用來(lái)獲取用戶的問(wèn)候語(yǔ)。 為了對(duì)該方法進(jìn)行單元測(cè)試,我們可以創(chuàng)

    2024年04月16日
    瀏覽(17)
  • Spring Boot異常處理和單元測(cè)試

    Spring Boot異常處理和單元測(cè)試

    SpringBoot默認(rèn)的處理異常的機(jī)制:SpringBoot 默認(rèn)的已經(jīng)提供了一套處理異常的機(jī)制。一旦程序中出現(xiàn)了異常 SpringBoot 會(huì)向/error 的 url 發(fā)送請(qǐng)求。在 springBoot 中提供了一個(gè)叫 BasicErrorController 來(lái)處理/error 請(qǐng)求,然后跳轉(zhuǎn)到默認(rèn)顯示異常的頁(yè)面來(lái)展示異常信息 如 果我 們 需 要 將 所

    2024年03月17日
    瀏覽(28)
  • Spring Boot異常處理及單元測(cè)試

    Spring Boot異常處理及單元測(cè)試

    SpringBoot默認(rèn)的處理異常的機(jī)制:SpringBoot 默認(rèn)的已經(jīng)提供了一套處理異常的機(jī)制。一旦程序中出現(xiàn)了異常 SpringBoot 會(huì)向/error 的 url 發(fā)送請(qǐng)求。在 springBoot 中提供了一個(gè)叫 BasicErrorController 來(lái)處理/error 請(qǐng)求,然后跳轉(zhuǎn)到默認(rèn)顯示異常的頁(yè)面來(lái)展示異常信息 如 果我 們 需 要 將 所

    2024年01月19日
    瀏覽(62)
  • Spring Boot 做單元測(cè)試,真心強(qiáng)悍!

    Spring Boot 做單元測(cè)試,真心強(qiáng)悍!

    Spring Boot 提供了豐富的測(cè)試功能,主要由以下兩個(gè)模塊組成: spring-boot-test :提供測(cè)試核心功能。 spring-boot-test-autoconfigure :提供對(duì)測(cè)試的自動(dòng)配置。 Spring Boot 提供了一個(gè)? spring-boot-starter-test 一站式啟動(dòng)器,如以下依賴配置所示。 測(cè)試啟動(dòng)器依賴不僅包含以上兩個(gè) Spring Bo

    2024年02月04日
    瀏覽(25)
  • Spring Boot 單元測(cè)試,保姆級(jí)教程!

    Spring Boot 單元測(cè)試,保姆級(jí)教程!

    概念: 單元測(cè)試(unit testing),是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。在Java中單元測(cè)試的最小單元是類。 單元測(cè)試是開(kāi)發(fā)者編寫(xiě)的一小段代碼,用于檢驗(yàn)被測(cè)代碼的一個(gè)很小的、很明確的功能是否正確。執(zhí)行單元測(cè)試,就是為了證明這段代碼的行為和我們期望是

    2024年02月03日
    瀏覽(21)
  • Spring Boot 單元測(cè)試(Controller測(cè)試與Service測(cè)試)

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

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

    2023年04月26日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包