這節課,我們來學習一下SpringBoot的環境配置,在SpringBoot中,所有的配置都寫在application.properties中: 我們啟動項目,預設埠是8080,我們現在給他配置一個8088: server.port=8088 運行啟動類,然後在瀏覽器地址欄訪問上一節中的控制器: ...
這節課,我們來學習一下SpringBoot的環境配置,在SpringBoot中,所有的配置都寫在application.properties中:
我們啟動項目,預設埠是8080,我們現在給他配置一個8088:
server.port=8088
運行啟動類,然後在瀏覽器地址欄訪問上一節中的控制器:
啟動成功了。
然後訪問這個Controller
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("hello")
public String hello(){
return "<font style='font-size:28px;'>Hello Spring Boot</font>";
}
}
訪問:http://localhost:8088/hello
訪問成功啦!
如果你要加上一個項目的名字,做如下配置:
server.context-path=/demo
註意:/demo的 “ / ”不能少!
重啟服務,訪問的地址則需要改為:
http://localhost:8088/demo/hello
可見,一樣能夠成功訪問!
接下來,我們再來介紹一種yml配置方式,這裡編寫一個yml文件,文件名還是application
server:
port: 8088
context-path: demo
這樣寫的好處就是,有一個層級關係,不需要每一行都寫全了。需要註意的是,port: 和
8088之間必須要有一個空格,不能擠在一起,否則是識別不了的!!!
啟動項目,報錯:
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadIntoGroup(ConfigFileApplicationListener.java:476)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:465)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:386)
at org.springframework.boot.context.config.ConfigFileApplicationListener.addPropertySources(ConfigFileApplicationListener.java:225)
at org.springframework.boot.context.config.ConfigFileApplicationListener.postProcessEnvironment(ConfigFileApplicationListener.java:195)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEnvironmentPreparedEvent(ConfigFileApplicationListener.java:182)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEvent(ConfigFileApplicationListener.java:168)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:325)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:296)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
at com.example.demo.DemoApplication.main(DemoApplication.java:10)
註意哦,這裡有個坑,我們採用yml文件配置項目的時候,二級配置這裡,不能直接一個tab鍵,那樣會有4個空格,而實際上,我們這裡只能有兩個空格。
一個空格都不能多!!
OK,修改yml文件(老老實實打兩個空格吧,親!):
server:
port: 8088
context-path: demo
圖解:
重新啟動項目,訪問:
http://localhost:8089/demo/hello
成功!
本篇教程講解了在SpringBoot項目中進行配置的兩種方式,我個人推薦大家使用yml文件來配置SpringBoot項目。
您的支持是我寫作的最大動力:
個人網站:http://java520.top/
作者:剽悍一小兔
鏈接:https://www.jianshu.com/p/20915a431c07
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。