第三章:SpringBoot配置深入-1. 配置環境屬性
原始碼下載:https://u11556602.ctfile.com/fs/11556602-361219278
https://download.csdn.net/download/qq_36267875/11089023
在之前已經基本上了解了整個springboot執行機制,但是也需要清除的認識到以下的問題,在實際的專案開發之中,尤其是Java的mvc版的專案裡面,所有的專案都一定需要滿足如下幾點要求:
1.訪問的埠不能夠是8080,應該使用預設的80埠;
2.在專案之中為了方便進行資料的維護,建議建立一系列的*.properties配置檔案,例如:提示訊息,跳轉路徑;
3.所有的控制器現在都採用了rest風格輸出,但是正常來講,資訊的顯示應該交給頁面(不再是jsp)負責完成;
4.在進行專案打包的時候應該考慮到不同的profile配置。
2.1 改變環境屬性
通過當前的執行可以發現,預設清空下,在springboot裡面啟動web容器為tomcat:
2019-04-07 10:18:56.464 INFO 7324 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup 2019-04-07 10:18:56.526 INFO 7324 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 2019-04-07 10:18:56.531 INFO 7324 --- [ restartedMain] cn.mldn.microboot.StartSpringBootMain : Started StartSpringBootMain in 3.142 seconds (JVM running for 3.7)
從實際的開發來講,我們的web部署專案如果是單獨執行不可能執行在8080的埠上。從正常來講我們的伺服器應該執行在80埠上,所以如果要想修改這樣的預設環境,則必須編寫與之對應的配置檔案,該配置檔案一定要寫在classpath之中,例如:專案中的"src/main/resources"就是一個classpath路徑,那麼在這個目錄之中直接建立有一個application.properties(檔名稱絕對不要改變)。
專案上右鍵 properties
設定resources為原始檔目錄
範例:定義application.properties配置檔案
#設定tomcat的執行服務所在埠
server.port=80
重新啟動之後已經變成了80埠了
2019-04-07 12:38:41.210 INFO 11436 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2019-04-07 12:38:41.257 INFO 11436 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2019-04-07 12:38:41.261 INFO 11436 --- [ restartedMain] cn.mldn.microboot.StartSpringBootMain : Started StartSpringBootMain in 2.429 seconds (JVM running for 2.827)
範例:如果有需要也可以配置contextPath的資訊
#設定tomcat的執行服務所在埠
server.port=80
# 可以配置ContextPath訪問路徑,但是在實際開發之中是不能夠進行配置的
server.context-path=/hello
此時的訪問路徑需要追加contextPath字首:http://localhost/hello/;
嚴格來講在springboot,springcloud裡面可以使用兩類配置檔案:application.properties application.yml
yaml檔案:
這是一種結構化的資料檔案,其在很多的地方上都使用過,例如:apache storm 開發元件上進行配置的時候使用就是yml的配置檔案,該配置檔案的全稱'YAML Ain't a Markup Language' 仍然是一種標記語言。
範例:定義application.yml配置檔案
server:
port: 80 #此處設定的服務的訪問埠配置
無聊的測試:如果application.properties和application.yml兩個檔案同時存在,使用哪個?
那麼這個時候將優先進行application.properties配置檔案的載入,如果現在兩個配置項的作用衝突了,則以properties為主,如果不衝突,則以存在的為主。
application.properties
server.port=8080
application.yml
server:
port: 80 #此處設定的服務的訪問埠配置
context-path: /mldn
在之前預設使用的web容器是tomcat容器,實際上在springboot裡面如果使用者有需要也可以將容器更換為jetty容器,如果現在想要使用這個容器則需要追加一些依賴即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
如果在以後專案以微服務的方式進行打包釋出的時候,強烈建議大家使用jetty服務進行釋出。
2019-04-07 12:39:47.425 INFO 12128 --- [ restartedMain] o.e.jetty.server.AbstractConnector : Started ServerConnector@77c45f6c{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2019-04-07 12:39:47.425 INFO 12128 --- [ restartedMain] .s.b.c.e.j.JettyEmbeddedServletContainer : Jetty started on port(s) 8080 (http/1.1)
2019-04-07 12:39:47.429 INFO 12128 --- [ restartedMain] cn.mldn.microboot.StartSpringBootMain : Started StartSpringBootMain in 2.663 seconds (JVM running for 3.048)