第一個SpringBoot專案

山丘i發表於2020-08-24

一、開發步驟

專案名稱01-springboot-first

先建立一個空的工程,在這個工程裡面

1. 建立一個 Module ,選擇型別為 Spring Initializr 快速構建

2. 設定 GAV 座標及 pom 配置資訊

3. 選擇 Spring Boot 版本及依賴

會根據選擇的依賴自動新增起步依賴並進行自動配置

4. 設定模組名稱、Content Root 路徑及模組檔案的目錄

點選 Finish如果是第一次建立,在右下角會提示正在下載相關的依賴

可以看之前寫的關於maven的介紹,換成阿里的映象會快很多

5. 專案建立完畢

一個基本的專案就是這樣

  • static:存放靜態資源,如圖片、CSS、JavaScript 等
  • templates:存放 Web 頁面的模板檔案
  • application.properties用於存放程式的各種依賴模組的配置資訊,比如 服務埠,資料庫連線配置等
  • Application:程式入口

二、入門案例

專案名稱:02-springboot-springmvc

步驟和上面的一樣

1. 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>
<!--繼承Spring Boot框架的一個父專案,所有自己開發的SpringBoot都要繼承-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>


    <!--當前專案的GAV座標-->
    <groupId>com.md.springboot</groupId>
    <artifactId>02-springboot-springmvc</artifactId>
    <version>1.0.0</version>


    <!--專案名稱和專案描述,可以刪除-->
    <name>01-springboot-first</name>
    <description>Demo project for Spring Boot</description>


    <!-- maven屬性配置,可以在其他地方通過${}方式引用-->
    <properties>
        <java.version>1.8</java.version>
    </properties>



    <dependencies>
    <!--spring boot框架web專案的起步依賴,通過該依賴自動關聯其他依賴,不需要一個個的新增-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- spring boot框架的測試起步依賴,可以刪除-->
        <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>
            <!--spring boot提供的打包編譯外掛-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2. 對 SpringBoot 專案結構進行說明

  • .mvn|mvnw|mvnw.cmd:使用指令碼操作執行 maven 相關命令,國內使用較少,可刪除
  • .gitignore:使用版本控制工具 git 的時候,設定一些忽略提交的內容
  • static|templates:後面模板技術中存放檔案的目錄
  • application.properties:SpringBoot 的配置檔案,很多整合的配置都可以在該檔案中進行配置,例如:Spring、springMVC、Mybatis、Redis 等。目前是空的
  • Application.java:SpringBoot程式執行的入口,執行該程式中的main方法,SpringBoot就啟動了

3. 建立一個 Spring MVC的Spring BootController

SpringBootController 類所在包:com.md.springboot.web

和寫springMVC一樣,只不過少了很多配置,直接寫就行

package com.md.springboot.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


/**
 * @author MD
 * @create 2020-08-20 15:53
 */

@Controller
public class SpringBootController {

    @RequestMapping(value = "/springBoot/say")
    public @ResponseBody String say(){
        return "hello , springBoot";
    }
}

注意:新建立的類一定要位於 Application 同級目錄或者下級目錄,否則 SpringBoot 加 載入不到。

4. 在 IDEA 中右鍵,執行Application類中的main方法

通過在控制檯的輸出,可以看到啟動 SpringBoot 框架,會啟動一個內嵌的 tomcat,埠號為 8080,上下文根為空

在瀏覽器中輸入 http://localhost:8080/springBoot/say 訪問

三、入門案例分析

  • Spring Boot 的父級依賴 spring-boot-starter-parent 配置之後,當前的專案就是 SpringBoot 專案
  • spring-boot-starter-parent 是一個 Springboot 的父級依賴,開發 SpringBoot 程式都需要繼承該父級專案,它用來提供相關的 Maven 預設依賴,使用它之後,常用的 jar包依賴可以省去 version 配置
  • Spring Boot 提供了哪些預設 jar 包的依賴,可檢視該父級依賴的 pom 檔案
  • 如果不想使用某個預設的依賴版本,可以通過 pom.xml 檔案的屬性配置覆蓋各個依賴項,比如覆蓋 Spring 版本
<properties>
<spring-framework.version>5.0.0.RELEASE</ spring-framework.version >
</properties>

  • @SpringBootApplication 是 註解是 Spring Boot 專案的核心註解,主要作用是開啟Spring 自動配置在 ,如果在 Application 類上去掉該註解,那麼不會啟動 SpringBoot程式
  • main 方法是一個標準的 Java 程式的 main 方法,主要作用是作為專案啟動執行的入口
  • @Controller 及 @ResponseBody 依然是我們之前的 Spring MVC,因為 Spring Boot的裡面依然是使用我們的 Spring MVC + Spring + MyBatis 等框架

相關文章