您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關配置文件如何利用SpringBoot 進行編寫,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在spirngBoot里面, 可以有兩種方式聲明配置
1、直接編寫配置文件 然后從配置文件里面獲取
2、編寫配置文件 然后編寫bean, 通過注解注入到bean里面 獲取的時候從bean里面獲取
配置文件編寫可以有多種, 例如我們常見的有: xml、properties、json、yaml.....
我們這里就使用常見的properties文件來寫
編寫配置文件,從配置文件里面獲取
創建配置文件
使用配置項
注解說明
@PropertySource({"classpath:config/web.properties"}) //指定配置文件 @Value("${site.name}") // 獲取配置項 value
效果
編寫配置文件, 從bean里面獲取
編寫bean
, WebSetting.java
package com.example.demo.domain; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @PropertySource(value = "classpath:config/web.properties", encoding = "utf-8") @ConfigurationProperties(prefix = "site") // 這個可以指定前綴 只要成員屬性能對上就行 也可以不指定 使用@Value來獲取 public class WebSetting { @Value("${site.name}") private String siteName; @Value("${site.desc}") private String siteDesc; @Value("${site.domain}") private String siteDomain; // 對上了可以不用@Value private String test; public String getTest() { return test; } public void setTest(String test) { this.test = test; } public String getSiteName() { return siteName; } public void setSiteName(String siteName) { this.siteName = siteName; } public String getSiteDesc() { return siteDesc; } public void setSiteDesc(String siteDesc) { this.siteDesc = siteDesc; } public String getSiteDomain() { return siteDomain; } public void setSiteDomain(String siteDomain) { this.siteDomain = siteDomain; } }
config/web.properties
site.name=憧憬 site.domain=aoppp.com site.desc=這是一個技術分享的博客! site.test=test
獲取配置 效果
需要注意點
1、配置文件注入失敗,出現Could not resolve placeholder
解決:根據springboot啟動流程,會有自動掃描包沒有掃描到相關注解,
默認Spring框架實現會從聲明@ComponentScan所在的類的package進行掃描,來自動注入,因此啟動類最好放在根路徑下面,或者指定掃描包范圍,spring-boot掃描啟動類對應的目錄和子目錄
2、注入bean的方式,屬性名稱和配置文件里面的key一一對應,就用加@Value 這個注解,如果不一樣,就要加@value("${XXX}")
看完上述內容,你們對配置文件如何利用SpringBoot 進行編寫有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。