源碼下載:https://u11556602.ctfile.com/fs/11556602-361219278web
https://download.csdn.net/download/qq_36267875/11089023spring
在以前已經基本上了解了整個springboot運行機制,可是也須要清除的認識到如下的問題,在實際的項目開發之中,尤爲是Java的mvc版的項目裏面,全部的項目都必定須要知足以下幾點要求:apache
1.訪問的端口不可以是8080,應該使用默認的80端口;tomcat
2.在項目之中爲了方便進行數據的維護,建議創建一系列的*.properties配置文件,例如:提示消息,跳轉路徑;springboot
3.全部的控制器如今都採用了rest風格輸出,可是正常來說,信息的顯示應該交給頁面(再也不是jsp)負責完成;服務器
4.在進行項目打包的時候應該考慮到不一樣的profile配置。mvc
2.1 改變環境屬性app
經過當前的執行能夠發現,默認清空下,在springboot裏面啓動web容器爲tomcat:jsp
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(文件名稱絕對不要改變)。spring-boot
項目上右鍵 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)