1. 程式人生 > 實用技巧 >Spring Boot-學習(二)常用配置

Spring Boot-學習(二)常用配置

Spring Boot (二)-常用配置

一、自定義啟動Banner

快速構建一個Spring Boot專案後,啟動專案來看看SpringBoot預設的啟動Banner長什麼樣子,大多數情況下,我們其實不用關心這個東西。如果你個人或者你的開發團隊覺得這樣做顯得太單一,想定製成一個有個性的Banner啟動圖案,我們可以按照如下步驟來定義:

預設啟動Banner圖:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.9.RELEASE)

自定義Banner:
在resources目錄下新建banner.txt檔案
檔案中可以編寫任何字元,SpringBoot在啟動時會將字元列印到控制檯

推薦一個線上生成字元的網站:http://patorjk.com/software/taag/

${AnsiColor.BRIGHT_RED}:設定控制檯中輸出內容的顏色,可以自定義,具體參考
org.springframework.boot.ansi.AnsiColor

關閉Banner圖案:

public static void main(String[] args) {
	SpringApplication app = new SpringApplication(DemoApplication.class);
	app.setBannerMode(Banner.Mode.OFF);
	app.run(args);
}  

修改埠和預設路徑

server:
  port: 8889
  servlet:
    context-path: /chapter02

二、多環境切換配置

在實際專案開發中,會有多套環境來支撐,例如開發環境(dev)、測試環境(test)、生產環境(pro)和uat環境(uat),通過spring.profiles.active屬性可以非常方便的切換到不通的環境下。

在resources目錄下新建application-dev.yml、application-pro.yml、application-test.yml、application-uat.yml 四個環境的配置檔案,這裡為了演示,我們將不同環境的埠號分別修改如下:

dev

server:
  port: 8081
  servlet:
    context-path: /chapter02

pro

server:
  port: 8082
  servlet:
    context-path: /chapter02

test

server:
  port: 8083
  servlet:
    context-path: /chapter02

uat

server:
  port: 8084
  servlet:
    context-path: /chapter02

在application.yml配置檔案中新增配置:

spring:
  profiles:
  	 active: pro

切換active的值,啟動專案觀察埠號,如果發生變化說明配置成功。

三、自定義屬性配置

切換當前環境為:dev,在application-dev.yml中新增如下自定義屬性:

#自定義屬性配置
com:
  example:
    name: test
    mail: [email protected]
    addr: 北京市海淀區首體南路

建立ExampleProp類,存放於utils包下

第一種方式:

@Data
@Component
public class ExampleProp {

    @Value("${com.example.name}")
    private String name;
    @Value("${com.example.mail}")
    private String mail;
    @Value("${com.example.addr}")
    private String addr;

}

第二種方式:

@Data
@Component
@ConfigurationProperties(prefix = "com.example")
public class ExampleProp {

    private String name;
    private String mail;
    private String addr;

}

@Data: lombok簡化程式碼用的,後面章節單獨介紹,可以去掉這個註解,然後手動生成getter和setter
@Component: 讓spring在啟動的時候掃描到該類,並新增到spring容器中。
@Value("${com.example.name}"): 載入配置檔案中的屬性值
@ConfigurationProperties(prefix = “com.example”): 設定字首,屬性上不需要添加註解。

建立一個Controller,來驗證屬性配置是否生效

@RestController
public class PropController {

    @Autowired
    ExampleProp exampleProp;

    @GetMapping("/getProp")
    public ExampleProp getProp(){
        return exampleProp;
    }

}

使用@Autowired註解,將我們建立好的Bean注入到Controller中,然後啟動應用。
@RestController和@GetMapping("/getProp")用來定義訪問路徑,後面章節再細說。
啟動專案,在瀏覽器訪問:http://localhost:8081/chapter02/getProp

我們可以看到exampleProp物件的屬性值已經成功注入。

(參考連結:https://blog.csdn.net/qiangzi1103/article/details/102544925)