1. 程式人生 > >第三章:SpringBoot配置深入-1. 配置環境屬性

第三章: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)