欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?Boot中使用@Value加載配置的方法

 更新時(shí)間:2024年05月25日 08:58:26   作者:程序猿DD  
@Value注解相信很多Spring Boot的開發(fā)者都已經(jīng)有接觸了,通過使用該注解,我們可以快速的把配置信息加載到Spring的Bean中,這篇文章主要介紹了為什么不推薦在SpringBoot中使用@Value加載配置,需要的朋友可以參考下

@Value注解相信很多Spring Boot的開發(fā)者都已經(jīng)有接觸了,通過使用該注解,我們可以快速的把配置信息加載到Spring的Bean中。

比如下面這樣,就可以輕松的把配置文件中key為com.didispace.title配置信息加載到TestService中來使用

@Service
public class TestService {
    @Value("${com.didispace.title}")
    private String title;
}

這個(gè)注解可以說非常的好用!但是為什么不推薦大家使用它呢?核心原因是:當(dāng)我們使用@Value來直接提取配置信息使用的時(shí)候,會(huì)產(chǎn)生配置信息加載的碎片化。比如,同一個(gè)配置,可能背多個(gè)Service或者Controller使用,當(dāng)我們再要修改它的時(shí)候,就會(huì)存在一個(gè)遺漏的風(fēng)險(xiǎn)。我們無法方便的維護(hù)這些配置加載而導(dǎo)致一些問題。

那么,如果不使用@Value,我們應(yīng)該用什么來替代呢?

我比較推薦的就是使用@ConfigurationProperties來分類和加載各種配置信息,比如,我要加載關(guān)于com.didispace的相關(guān)配置時(shí)候,就寫一個(gè)這樣的實(shí)現(xiàn):

@Configuration
@ConfigurationProperties(prefix = "com.didispace")
public class DidispaceProperties {
    private String title;
}

這個(gè)DidispaceProperties就會(huì)加載com.didispace開頭的配置。其他Service或者Controller要使用這些配置的時(shí)候,就通過注入DidispaceProperties就也可以了。如果要修改配置相關(guān)的邏輯,也只需要修改DidispaceProperties中的內(nèi)容即可,而不是到處找@Value的配置。

另外,在這里,其實(shí)還可以增加對配置的校驗(yàn),主要在pom.xml中引入spring-boot-starter-validation模塊。然后修改配置類,增加@Validated注解和具體校驗(yàn)注解,比如:

@Validated
@Configuration
@ConfigurationProperties(prefix = "com.didispace")
public class DidispaceProperties {

  @NotNull
  private String title;

}

這就輕松實(shí)現(xiàn)配置的校驗(yàn)了,是不是很方便呢?

到此這篇關(guān)于為什么不推薦在Spring Boot中使用@Value加載配置的文章就介紹到這了,更多相關(guān)Spring Boot使用@Value加載配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)置Excel數(shù)據(jù)驗(yàn)證的示例代碼

    Java設(shè)置Excel數(shù)據(jù)驗(yàn)證的示例代碼

    數(shù)據(jù)驗(yàn)證是Excel 2013版本中,數(shù)據(jù)功能組下面的一個(gè)功能。本文將通過Java程序代碼演示數(shù)據(jù)驗(yàn)證的設(shè)置方法及結(jié)果,感興趣的可以了解一下
    2022-05-05
  • Java多線程編程中線程鎖與讀寫鎖的使用示例

    Java多線程編程中線程鎖與讀寫鎖的使用示例

    這篇文章主要介紹了Java多線程編程中線程鎖與讀寫鎖的使用示例,鎖是控制程序多線程并發(fā)的重要手段,需要的朋友可以參考下
    2016-04-04
  • java 數(shù)據(jù)的加密與解密普遍實(shí)例代碼

    java 數(shù)據(jù)的加密與解密普遍實(shí)例代碼

    本篇文章介紹了一個(gè)關(guān)于密鑰查詢的jsp文件簡單實(shí)例代碼,需要的朋友可以參考下
    2017-04-04
  • Java紅黑樹的數(shù)據(jù)結(jié)構(gòu)與算法解析

    Java紅黑樹的數(shù)據(jù)結(jié)構(gòu)與算法解析

    紅黑樹問題是各大計(jì)算機(jī)考研命題以及面試算法題目中的熱門,接下來我們?yōu)榇蠹覉D解紅黑樹的數(shù)據(jù)結(jié)構(gòu)與算法解析,需要的朋友可以參考下
    2021-08-08
  • 詳解Java語言中的抽象類與繼承

    詳解Java語言中的抽象類與繼承

    這篇文章主要為大家詳細(xì)介紹了Java語言中的抽象類與繼承的相關(guān)資料,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定的幫助,感興趣的小伙伴快跟隨小編一起了解一下
    2022-10-10
  • 基于Springboot+Junit+Mockito做單元測試的示例

    基于Springboot+Junit+Mockito做單元測試的示例

    本篇文章主要介紹了基于Springboot+Junit+Mockito做單元測試的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • 自己寫的簡易版Java日志類分享

    自己寫的簡易版Java日志類分享

    這篇文章主要介紹了自己寫的簡易版Java日志類分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-06-06
  • JMeter配置元件詳解

    JMeter配置元件詳解

    JMeter提供了豐富的配置元件,常用的包括參數(shù)化配置元件、HTTP請求默認(rèn)值、HTTP信息頭管理器、計(jì)數(shù)器等,本文就詳細(xì)的介紹一下這些元件的使用,感興趣的可以了解一下
    2021-12-12
  • 這個(gè)Java泛型不太正經(jīng)

    這個(gè)Java泛型不太正經(jīng)

    這篇文章主要為大家介紹了Java泛型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2022-01-01
  • java8中:: 用法示例(JDK8雙冒號用法)

    java8中:: 用法示例(JDK8雙冒號用法)

    這篇文章主要給大家介紹了關(guān)于java8 中的:: 用法(JDK8雙冒號用法)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java8具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論