1. 程式人生 > 其它 >SpringBoot--Hello World(狂神視訊學習筆記)

SpringBoot--Hello World(狂神視訊學習筆記)

1 Hello,World

1.1 回顧什麼是Spring

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

Spring是為了解決企業級應用開發的複雜性而建立的,簡化開發。

1.2 Spring是如何簡化Java開發的

為了降低Java開發的複雜性,Spring採用了以下4種關鍵策略:

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

2、通過IOC,依賴注入(DI)和麵向介面實現鬆耦合;

3、基於切面(AOP)和慣例進行宣告式程式設計;

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

1.3 什麼是SpringBoot

學過javaweb的同學就知道,開發一個web應用,從最初開始接觸Servlet結合Tomcat, 跑出一個Hello Wolrld程式,是要經歷特別多的步驟;後來就用了框架Struts,再後來是SpringMVC,到了現在的SpringBoot,過一兩年又會有其他web框架出現;你們有經歷過框架不斷的演進,然後自己開發專案所有的技術也在不斷的變化、改造嗎?建議都可以去經歷一遍;

言歸正傳,什麼是SpringBoot呢,就是一個javaweb的開發框架,和SpringMVC類似,對比其他javaweb框架的好處,官方說是簡化開發,約定大於配置, you can "just run",能迅速的開發web應用,幾行程式碼開發一個http介面。

所有的技術框架的發展似乎都遵循了一條主線規律:從一個複雜應用場景 衍生 一種規範框架,人們只需要進行各種配置而不需要自己去實現它,這時候強大的配置功能成了優點;發展到一定程度之後,人們根據實際生產應用情況,選取其中實用功能和設計精華,重構出一些輕量級的框架;之後為了提高開發效率,嫌棄原先的各類配置過於麻煩,於是開始提倡“約定大於配置”,進而衍生出一些一站式的解決方案。

是的這就是Java企業級應用->J2EE->spring->springboot的過程。

隨著 Spring 不斷的發展,涉及的領域越來越多,專案整合開發需要配合各種各樣的檔案,慢慢變得不那麼易用簡單,違背了最初的理念,甚至人稱配置地獄。Spring Boot 正是在這樣的一個背景下被抽象出來的開發框架,目的為了讓大家更容易的使用 Spring 、更容易的整合各種常用的中介軟體、開源軟體;

Spring Boot 基於 Spring 開發,Spirng Boot 本身並不提供 Spring 框架的核心特性以及擴充套件功能,只是用於快速、敏捷地開發新一代基於 Spring 框架的應用程式。也就是說,它並不是用來替代 Spring 的解決方案,而是和 Spring 框架緊密結合用於提升 Spring 開發者體驗的工具。Spring Boot 以約定大於配置的核心思想,預設幫我們進行了很多設定,多數 Spring Boot 應用只需要很少的 Spring 配置。同時它集成了大量常用的第三方庫配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 應用中這些第三方庫幾乎可以零配置的開箱即用。

簡單來說就是SpringBoot其實不是什麼新的框架,它預設配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。

Spring Boot 出生名門,從一開始就站在一個比較高的起點,又經過這幾年的發展,生態足夠完善,Spring Boot 已經當之無愧成為 Java 領域最熱門的技術。

Spring Boot的主要優點:

  • 為所有Spring開發者更快的入門
  • 開箱即用,提供各種預設配置來簡化專案配置
  • 內嵌式容器簡化Web專案
  • 沒有冗餘程式碼生成和XML配置的要求

真的很爽,我們快速去體驗開發個介面的感覺吧

1.4 第一個Helloworld程式

1.4.1 建立基礎專案說明

Spring官方提供了非常方便的工具讓我們快速構建應用

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

專案建立方式一:使用Spring Initializr 的 Web頁面建立專案

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

2、填寫專案資訊

3、點選”Generate Project“按鈕生成專案;下載此專案

4、解壓專案包,並用IDEA以Maven專案匯入,一路下一步即可,直到專案匯入完畢。

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

專案建立方式二:使用 IDEA 直接建立專案

1、建立一個新專案

2、選擇spring initalizr , 可以看到預設就是去官網的快速構建工具那裡實現

3、填寫專案資訊

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

5、填寫專案路徑

6、等待專案構建成功

專案結構分析:

通過上面步驟完成了基礎專案的建立。就會自動生成以下檔案。

1、程式的主啟動類

2、一個 application.properties 配置檔案

3、一個 測試類

4、一個 pom.xml

1.4.2 pom.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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.considine</groupId>
    <artifactId>springboot-02-config</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-02-config</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

1.4.3 編寫一個http介面

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

2、在包中新建一個HelloController類


@RestController
public class HelloController {

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

3、編寫完畢後,從主程式啟動專案,瀏覽器發起請求,看頁面返回;控制檯輸出了 Tomcat 訪問的埠號!

1.4.4 將專案打成jar包,點選 maven的 package

如果打包成功,則會在target目錄下生成一個 jar 包

打成了jar包後,就可以在任何地方運行了!

Java -jar ./xxx.jar

1.5 banner

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

只需一步:到專案下的 resources 目錄下新建一個banner.txt 即可。

圖案可以到:https://www.bootschool.net/ascii 這個網站生成,然後拷貝到檔案中即可!

                             .::::.
                           .::::::::.
                           :::::::::::
                           ':::::::::::..
                            :::::::::::::::'
                             ':::::::::::.
                               .::::::::::::::'
                             .:::::::::::...
                            ::::::::::::::''
                .:::.       '::::::::''::::
              .::::::::.      ':::::'  '::::
             .::::':::::::.    :::::    '::::.
           .:::::' ':::::::::. :::::      ':::.
         .:::::'     ':::::::::.:::::       '::.
       .::::''         '::::::::::::::       '::.
      .::''              '::::::::::::         :::...
   ..::::                  ':::::::::'        .:' ''''
..''''':'                    ':::::.'