項目開發中的dev、test、prod是什么意思
- 開發環境(dev):開發環境是程序猿們專門用於開發的服務器,配置可以比較隨意,為了開發調試方便,一般打開全部錯誤報告。
- 測試環境(test):一般是克隆一份生產環境的配置,一個程序在測試環境工作不正常,那么肯定不能把它發布到生產機上。
- 生產環境(prod):是值正式提供對外服務的,一般會關掉錯誤報告,打開錯誤日志。
三個環境也可以說是系統開發的三個階段:開發->測試->上線,其中生產環境也就是通常說的真實環境。
多環境配置
好處:
- 1.不同環境配置可以配置不同的參數
- 2.便於部署,提高效率,減少出錯
Properties多環境配置
1、新建三個環境文件,編寫三個不同的端口
application-dev.properties
server.port=8888
application-prod.properties
server.port=8999
application-test.properties
application-test.properties
2、在核心配置文件application.properties中調用
spring.profiles.active=dev
3、驗證:看控制台信息,端口是否為對應端口
YAML多環境配置 application.yml
1、配置激活選項
spring: profiles: active: dev
2、在配置文件添加三個英文狀態下的短橫線即可區分
---
#新的yml文件,這個文件的名字dec
spring:
profiles: dev
#dev的配置
server:
port: 8888
---
#新的yml文件,這個文件的名字test
spring:
profiles: test
#dev的配置
server:
port: 8899
---
#新的yml文件,這個文件的名字prod
spring:
profiles: prod
#dev的配置
server:
port: 9999
兩種配置方式的比較
- 1. Properties配置多環境,需要添加多個配置文件,YAML只需要一個配件文件
- 2.書寫格式的差異,yaml相對比較簡潔,優雅
- 3. YAML的缺點:不能通過@PropertySource注解加載。如果需要使用@PropertySource注解的方式加載值,那就要使用properties文件。
注意:不能同時配置兩個端口,(不能配置application-dev.properties又配置application.yml)
加載順序:位置高的將覆蓋位置低的
啟動器類的位置
1、推薦啟動器類位於父包下 推薦
第一種情況: 啟動器類所在包: com.zl.app, 掃描注解: com.zl.app以及它的子包
2、啟動器類不是位於父包
第二種情況: 啟動器類所在包: com.zl.app.main, 掃描注解: com.zl.ap.main以及它的子包
可以在啟動器類上添加@ComponentScan(指定掃描的包)
啟動器類, 掃描注解, 是啟動器類所在的包,以及子包