溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot怎么實(shí)現(xiàn)Hello World

發(fā)布時間:2021-12-08 14:27:12 來源:億速云 閱讀:123 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“SpringBoot怎么實(shí)現(xiàn)Hello World”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“SpringBoot怎么實(shí)現(xiàn)Hello World”吧!

回顧什么是Spring

Spring是一個開源框架,2003 年興起的一個輕量級的Java 開發(fā)框架,作者:Rod Johnson  。

Spring是為了解決企業(yè)級應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的,簡化開發(fā)。

Spring是如何簡化Java開發(fā)的

為了降低Java開發(fā)的復(fù)雜性,Spring采用了以下4種關(guān)鍵策略:

1、基于POJO的輕量級和最小侵入性編程,所有東西都是bean;

2、通過IOC,依賴注入(DI)和面向接口實(shí)現(xiàn)松耦合;

3、基于切面(AOP)和慣例進(jìn)行聲明式編程;

4、通過切面和模版減少樣式代碼,RedisTemplate,xxxTemplate;

什么是SpringBoot

學(xué)過javaweb的同學(xué)就知道,開發(fā)一個web應(yīng)用,從最初開始接觸Servlet結(jié)合Tomcat, 跑出一個Hello Wolrld程序,是要經(jīng)歷特別多的步驟;后來就用了框架Struts,再后來是SpringMVC,到了現(xiàn)在的SpringBoot,過一兩年又會有其他web框架出現(xiàn);你們有經(jīng)歷過框架不斷的演進(jìn),然后自己開發(fā)項(xiàng)目所有的技術(shù)也在不斷的變化、改造嗎?建議都可以去經(jīng)歷一遍;

言歸正傳,什么是SpringBoot呢,就是一個javaweb的開發(fā)框架,和SpringMVC類似,對比其他javaweb框架的好處,官方說是簡化開發(fā),約定大于配置,  you can "just run",能迅速的開發(fā)web應(yīng)用,幾行代碼開發(fā)一個http接口。

所有的技術(shù)框架的發(fā)展似乎都遵循了一條主線規(guī)律:從一個復(fù)雜應(yīng)用場景 衍生 一種規(guī)范框架,人們只需要進(jìn)行各種配置而不需要自己去實(shí)現(xiàn)它,這時候強(qiáng)大的配置功能成了優(yōu)點(diǎn);發(fā)展到一定程度之后,人們根據(jù)實(shí)際生產(chǎn)應(yīng)用情況,選取其中實(shí)用功能和設(shè)計(jì)精華,重構(gòu)出一些輕量級的框架;之后為了提高開發(fā)效率,嫌棄原先的各類配置過于麻煩,于是開始提倡“約定大于配置”,進(jìn)而衍生出一些一站式的解決方案。

是的這就是Java企業(yè)級應(yīng)用->J2EE->spring->springboot的過程。

隨著 Spring 不斷的發(fā)展,涉及的領(lǐng)域越來越多,項(xiàng)目整合開發(fā)需要配合各種各樣的文件,慢慢變得不那么易用簡單,違背了最初的理念,甚至人稱配置地獄。Spring Boot 正是在這樣的一個背景下被抽象出來的開發(fā)框架,目的為了讓大家更容易的使用 Spring 、更容易的集成各種常用的中間件、開源軟件;

Spring Boot 基于 Spring 開發(fā),Spirng Boot 本身并不提供 Spring 框架的核心特性以及擴(kuò)展功能,只是用于快速、敏捷地開發(fā)新一代基于 Spring 框架的應(yīng)用程序。也就是說,它并不是用來替代 Spring 的解決方案,而是和 Spring 框架緊密結(jié)合用于提升 Spring 開發(fā)者體驗(yàn)的工具。Spring Boot 以約定大于配置的核心思想,默認(rèn)幫我們進(jìn)行了很多設(shè)置,多數(shù) Spring Boot 應(yīng)用只需要很少的 Spring 配置。同時它集成了大量常用的第三方庫配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 應(yīng)用中這些第三方庫幾乎可以零配置的開箱即用。

簡單來說就是SpringBoot其實(shí)不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。

Spring Boot 出生名門,從一開始就站在一個比較高的起點(diǎn),又經(jīng)過這幾年的發(fā)展,生態(tài)足夠完善,Spring Boot 已經(jīng)當(dāng)之無愧成為 Java 領(lǐng)域最熱門的技術(shù)。

Spring Boot的主要優(yōu)點(diǎn):

  • 為所有Spring開發(fā)者更快的入門

  • 開箱即用,提供各種默認(rèn)配置來簡化項(xiàng)目配置

  • 內(nèi)嵌式容器簡化Web項(xiàng)目

  • 沒有冗余代碼生成和XML配置的要求

真的很爽,我們快速去體驗(yàn)開發(fā)個接口的感覺吧!

準(zhǔn)備工作

我們將學(xué)習(xí)如何快速的創(chuàng)建一個Spring Boot應(yīng)用,并且實(shí)現(xiàn)一個簡單的Http請求處理。通過這個例子對Spring Boot有一個初步的了解,并體驗(yàn)其結(jié)構(gòu)簡單、開發(fā)快速的特性。

我的環(huán)境準(zhǔn)備:

  • java version "1.8.0_181"

  • Maven-3.6.1

  • SpringBoot 2.x 最新版

開發(fā)工具:

  • IDEA

     

創(chuàng)建基礎(chǔ)項(xiàng)目說明

Spring官方提供了非常方便的工具讓我們快速構(gòu)建應(yīng)用,網(wǎng)速不好也可以參考此篇 HelloWorld

Spring Initializr:https://start.spring.io/

項(xiàng)目創(chuàng)建方式一:使用Spring Initializr 的 Web頁面創(chuàng)建項(xiàng)目

1、打開  https://start.spring.io/

2、填寫項(xiàng)目信息

3、點(diǎn)擊”Generate Project“按鈕生成項(xiàng)目;下載此項(xiàng)目

4、解壓項(xiàng)目包,并用IDEA以Maven項(xiàng)目導(dǎo)入,一路下一步即可,直到項(xiàng)目導(dǎo)入完畢。

5、如果是第一次使用,可能速度會比較慢,包比較多、需要耐心等待一切就緒。

項(xiàng)目創(chuàng)建方式二:使用 IDEA 直接創(chuàng)建項(xiàng)目

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

2、選擇spring initalizr , 可以看到默認(rèn)就是去官網(wǎng)的快速構(gòu)建工具那里實(shí)現(xiàn)

3、填寫項(xiàng)目信息

4、選擇初始化的組件(初學(xué)勾選 Web 即可)

5、填寫項(xiàng)目路徑

6、等待項(xiàng)目構(gòu)建成功

項(xiàng)目結(jié)構(gòu)分析:

通過上面步驟完成了基礎(chǔ)項(xiàng)目的創(chuàng)建。就會自動生成以下文件。

1、程序的主啟動類

2、一個 application.properties 配置文件

3、一個 測試類

4、一個 pom.xml

pom.xml 分析

打開pom.xml,看看Spring Boot項(xiàng)目的依賴:

<?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.sowhat</groupId>
    <artifactId>springbootlearn</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 父依賴 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/>
    </parent>

    <dependencies>
        <!-- web場景啟動器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- springboot單元測試 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <!-- 剔除依賴 -->
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>


    <build>
        <plugins>

            <!--在工作中,很多情況下我們打包是不想執(zhí)行測試用例的可能是測試用例不完事,或是測試用例會影響數(shù)據(jù)庫數(shù)據(jù)跳過測試用例執(zhí)-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!--跳過項(xiàng)目運(yùn)行測試用例-->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>


            <!-- 打包插件 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

編寫一個http接口

1、在主程序的同級目錄下,新建一個controller包,一定要在同級目錄下,否則識別不到

2、在包中新建一個HelloController類

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello World";
    }
    
}

3、編寫完畢后,從主程序啟動項(xiàng)目,瀏覽器發(fā)起請求,看頁面返回;控制臺輸出了 Tomcat 訪問的端口號!

SpringBoot怎么實(shí)現(xiàn)Hello World

簡單幾步,就完成了一個web接口的開發(fā),SpringBoot就是這么簡單。所以我們常用它來建立我們的微服務(wù)項(xiàng)目!

將項(xiàng)目打成jar包,點(diǎn)擊 maven的 package

SpringBoot怎么實(shí)現(xiàn)Hello World

如果遇到以上錯誤,可以配置打包時 跳過項(xiàng)目運(yùn)行測試用例

<!--在工作中,很多情況下我們打包是不想執(zhí)行測試用例的可能是測試用例不完事,或是測試用例會影響數(shù)據(jù)庫數(shù)據(jù)跳過測試用例執(zhí)-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!--跳過項(xiàng)目運(yùn)行測試用例-->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

如果打包成功,則會在target目錄下生成一個 jar 包,打成了jar包后,就可以在任何地方運(yùn)行了!OK

彩蛋

如何更改啟動時顯示的字符拼成的字母,SpringBoot呢?也就是 banner 圖案;

只需一步:到項(xiàng)目下的 resources 目錄下新建一個banner.txt 即可。

SpringBoot怎么實(shí)現(xiàn)Hello World

到此,相信大家對“SpringBoot怎么實(shí)現(xiàn)Hello World”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI