天天看點

Day01-IDEA環境配置+SpringBoot 進階用法

1.1 IDEA環境配置

1.1.1 滾輪縮放

Day01-IDEA環境配置+SpringBoot 進階用法

1.1.2 設定自動提示

說明: 配置該項之後.自動不區分大小寫.

Day01-IDEA環境配置+SpringBoot 進階用法

1.1.3 設定參數提示

說明: 設定之後方法中有參數提示

Day01-IDEA環境配置+SpringBoot 進階用法

1.1.4 設定字元集編碼格式

Day01-IDEA環境配置+SpringBoot 進階用法

1.1.5 IDEA自動編譯

Day01-IDEA環境配置+SpringBoot 進階用法

1.1.6 IDEA配置Maven

檔案: settings檔案 本地倉庫路徑/私服鏡像位址

1.本地倉庫路徑: 路徑注意操守

<!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository -->
<!--定義本地倉庫路徑 如果pom.xml檔案,則切換本地倉庫-->
<localRepository>D:\Java\repository</localRepository>

<!-- interactiveMode
           

2.私服鏡像伺服器位址

<!--阿裡雲鏡像-->
		<mirror>
	        <id>nexus-aliyun</id>
	        <mirrorOf>*</mirrorOf>
	        <name>Nexus aliyun</name>
	        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
	 	</mirror>
           

3.配置Maven

Day01-IDEA環境配置+SpringBoot 進階用法

1.1.7 LomBok插件

自行檢查是否安裝lombok插件

Day01-IDEA環境配置+SpringBoot 進階用法

2 SpringBoot 基本用法

2.1 建立SpringBoot項目

2.1.1 根據插件建立項目

Day01-IDEA環境配置+SpringBoot 進階用法

2.1.2 添加依賴

說明: 隻勾選web即可.

Day01-IDEA環境配置+SpringBoot 進階用法

2.1 關于POM.xml檔案報錯說明

2.1.1 parent檔案報錯

Day01-IDEA環境配置+SpringBoot 進階用法

2.1.2 依賴插件報錯

Day01-IDEA環境配置+SpringBoot 進階用法

2.2 關于POM.xml檔案說明

2.2.1 mave坐标說明

<!--項目maven的基本資訊
       坐标:1.組ID  公司域名倒着寫
            2.項目名稱 名稱不能重複,不能數字開頭
            3.項目版本      1.1.1   1.2.1
       坐标意義:1.主要用來管理/區分項目
               2.項目打包的路徑就是坐标的位置
                -->

    <groupId>com.jt</groupId>
    <artifactId>springboot-demo1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-demo1</name>
    <description>Demo project for Spring Boot</description>
           

2.2.2 mave 指令

正常用法:

  1. 配置maven環境變量
  2. 通過dos指令視窗 執行指令. 幾乎不用

    IDEA插件方式:

    Day01-IDEA環境配置+SpringBoot 進階用法

    1.clean 清空項目編譯之後的檔案class(位于target目錄中)

    2.install 将項目中的target中的class進行打包 xxx.jar包

    3.install時會将測試類一同打包.是以需要注意代碼正确性.

跳過測試類打包

<properties>
        <java.version>1.8</java.version>
        <!--跳過測試類打包-->
        <skipTests>true</skipTests>
    </properties>
           

2.2.3 maven打包沒有生成target目錄的說明

如果遇到上述的錯誤,則去本地倉庫中根據項目路徑 查找jar包. 删了重新下載下傳

Day01-IDEA環境配置+SpringBoot 進階用法

2.2.4 parent标簽作用

<!--
        定位: SpringBoot主要的作用整合SSM,使得架構的使用更加簡化
        原則: "開箱即用"
        parent主要的作用:
               1.SpringBoot在内部相容了當下幾乎所有的第三方架構
               2.SpringBoot官網已經将所有相容的版本進行了定義
                (幾乎解決了版本沖突問題)以後幾乎不寫版本号
        概括: parent标簽中管理其他的項目版本資訊.
    -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/>
    </parent>
           

2.2.5 dependency說明

<!--原則: 按需導入  -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!--springboot啟動項(器)在包的内部SpringBoot
            已經完成了項目的"整合"(配置) 使用者拿來就用
            web導入SpringMVC
            -->
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

2.2.6 插件說明

<!--SpringBoot項目與Maven整合的一個插件
        可以通過插件 執行項目打包/測試/文檔生成等操作
        注意事項: 該插件不能省略
        項目釋出時: java -jar xxxx.jar  報錯:沒有主清單資訊!!!!
    -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.2</version>
            </plugin>
        </plugins>
    </build>
           

3 SpringBoot 進階用法

3.1 關于配置檔案文法說明

3.1.1 properties 文法說明

#資料結構: KEY-VALUE
#資料類型: String類型/Number數值
#文法:    1.key-value使用=号連接配接
#        2.不需要添加多餘的""号
#        3.pro檔案在IDEA中的編碼格式UTF-8(手動可改)
#          pro檔案在被程式讀取時預設采用ISO-8859-1格式,中文必定亂碼
#        4.key=value不要出現多餘的空格
server.port=8090

           

3.1.2 YML 文法說明

#資料結構 key-value
#資料類型 String/Number
#文法:
#    1.key:(空格)value
#    2.key與key之間有層級關系,注意縮進
#    3.字元編碼都采用UTF-8
#    4.可讀性較pro檔案 更加友好
server:
  port: 8090

           

3.2.2 YML為屬性指派

業務需求

說明: 如果将資料直接寫死到.java檔案中,如果需要修改,則重新編譯打包.不友善.如何優化??

優化: 通過配置檔案動态為屬性指派!!!

3.2.2.1 編輯YML配置檔案

說明: Spring負責管理YML檔案中的資料.

Day01-IDEA環境配置+SpringBoot 進階用法

3.2.2.2 Controller為屬性指派

package com.jt.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/*@ResponseBody 可以将對象轉化為JSON串
*2.如果傳回值為String類型,則傳回String本身
* JS是JSON串
* */
@ResponseBody
@RestController
@RequestMapping("hi")
@CrossOrigin
//spring 容器啟動時,動态添加配置檔案 一般需要修改字元集
/*  1.必須滿足key-value結構
*   2.如果屬性隻有一個并且是value屬性,可以省略不寫
*   3如果還是亂碼則檢查IDEA pro字元集編碼格式*/
@PropertySource(value = "classpath:/person.properties",encoding = "UTF-8")
public class HelloController {
    /*從Spring容器内部為屬性指派
    * 文法:spel表達式 ${key}
    * */
    @Value("${user.day}")
    private String day;
    @Value("${person.name}")
    private String name;

    @RequestMapping("get")//http://localhost:8090/hi/get
    public String getMsy(){
        return "下雨"+day+name;
    }
}