最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot如何讀取自定義屬性

 更新時間:2022年02月16日 11:08:00   作者:堯、木子  
大家好,本篇文章主要講的是springboot如何讀取自定義屬性,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下

很多時候,我們開發(fā)當中,需要通過配置自己的屬性信息來滿足不同環(huán)境下的應用部署,因此需要springboot能夠讀取我們自定義的屬性,常用的讀取自定義屬性有@Value和@ConfigurationProperties,下面分別做簡單的介紹
1、@Value

在這里插入圖片描述

可以看到點擊進去源碼,表明當前注解,可以使用在屬性、方法或者構(gòu)造方法上,支持SPEL表達式和占位符注解方式,此標簽通常是單個配置加載的數(shù)據(jù)
例如在配置文件中,配置了name和age兩個屬性

lixl:
  person:
    name: lixl
    age: 20
我們在代碼中的屬性上,直接注解
/**
 * @author lixl
 * @description
 * @date 2022/2/15
 */
@Component
public class Person {

    @Value("${lixl.person.name}")
    private String name;

    @Value("${lixl.person.age}")
    private String age;

    @Override
    public String toString() {
        return "name:"+this.name+";age:"+this.age;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

可以看到,正常打印

在這里插入圖片描述

修改代碼,將其注解在方法上,運行main方法,依然可以使用

	@Value("${lixl.person.name}")
    public void setName(String name) {
        this.name = name;
    }

再次修改代碼,將其注解在構(gòu)造方法的參數(shù)上,依然能夠進行注入

    public Person(@Value("${lixl.person.name}")String name, @Value("${lixl.person.age}")String age) {
        this.name = name;
        this.age = age;
    }

另外,如果我們需要給定@Value默認值,也是可以的,例如我們刪除了name字段,同時在@Value中增加默認值

// 默認是通過 : + 默認值 給定
 public Person(@Value("${lixl.person.name:張三}")String name, @Value("${lixl.person.age}")String age) {
        this.name = name;
        this.age = age;
 }

在這里插入圖片描述

運行結(jié)果,也是正常的

我們再來看看Spel表達式

   @Value("#{'男'}") // 增加性別字段
   private String gender;
	
	// 修改toString方法打印性別
	public String toString() {
        return "name:"+this.name+";age:"+this.age+";gender:"+this.gender;
    }

在這里插入圖片描述

運行結(jié)果正常通過,還有其他很多Spel表達,此處就不完全列舉了
比如我們在配置文件中指定了屬性name=‘java’ 在需要使用的組件中,設定@Value("${name}") 注解在相應的字段上,springboot就會自動加載。當然,@Value還可以使用Spel表達是,注入值使用@Value("#{Spel}").

2、@ConfigurationProperties 可以對配置文件中,某一類前綴開頭的屬性整體進行注入,例如:
配置文件中,有如下配置

test.name='lixl'
test.age='age'

配置類需要按照一下方式編寫

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component // 首先本身要是springboot容器中的組件
@ConfigurationProperties(prefix = "test") // 指定前綴
public class ConfigTest {

    private String name;

    private String age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}

目前都是用到的springboot默認的配置文件,我們也可以自己指定配置文件
使用@PropertySource(“classpath:xxx.properties”),進行加載配置文件

以上就是springboot如何讀取自定義屬性的詳細內(nèi)容,更多關于springboot讀取自定義屬性的資料請關注腳本之家其它相關文章!

相關文章

  • springboot如何獲取request請求的原始url與post參數(shù)

    springboot如何獲取request請求的原始url與post參數(shù)

    這篇文章主要介紹了springboot如何獲取request請求的原始url與post參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • HashMap vs TreeMap vs Hashtable vs LinkedHashMap

    HashMap vs TreeMap vs Hashtable vs LinkedHashMap

    這篇文章主要介紹了HashMap vs TreeMap vs Hashtable vs LinkedHashMap的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Java enum實現(xiàn)自增賦值方式

    Java enum實現(xiàn)自增賦值方式

    這篇文章主要介紹了Java enum實現(xiàn)自增賦值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java數(shù)據(jù)存儲的“雙子星”對決(Map和Set的區(qū)別)

    Java數(shù)據(jù)存儲的“雙子星”對決(Map和Set的區(qū)別)

    文章主要介紹了Java中Map和Set兩種數(shù)據(jù)結(jié)構(gòu)的定義、實現(xiàn)、方法及應用場景,Map用于存儲鍵值對,鍵唯一,值可重復;Set用于存儲唯一元素,無序,兩者都提供了豐富的操作方法,如添加、刪除、查找等,感興趣的朋友一起看看吧
    2025-02-02
  • java 中堆內(nèi)存和棧內(nèi)存理解

    java 中堆內(nèi)存和棧內(nèi)存理解

    這篇文章主要介紹了java 中的堆內(nèi)存和棧內(nèi)存的知識,有需要的朋友可以參考下
    2017-03-03
  • SpringBoot中restTemplate請求存在亂碼問題的解決方法

    SpringBoot中restTemplate請求存在亂碼問題的解決方法

    這篇文章主要介紹了SpringBoot中restTemplate請求存在亂碼問題的解決方法,文中有相關的圖文和代碼示例供大家參考,對大家的解決問題有一定的幫助,需要的朋友可以參考下
    2024-11-11
  • 利用Thumbnailator輕松實現(xiàn)圖片縮放、旋轉(zhuǎn)與加水印

    利用Thumbnailator輕松實現(xiàn)圖片縮放、旋轉(zhuǎn)與加水印

    java開發(fā)中經(jīng)常遇到對圖片的處理,JDK中也提供了對應的工具類,不過處理起來很麻煩,Thumbnailator是一個優(yōu)秀的圖片處理的開源Java類庫,處理效果遠比Java API的好,這篇文章主要介紹了利用Thumbnailator如何輕松的實現(xiàn)圖片縮放、旋轉(zhuǎn)與加水印,需要的朋友可以參考下
    2017-01-01
  • java實現(xiàn)日歷窗口小程序

    java實現(xiàn)日歷窗口小程序

    這篇文章主要為大家詳細介紹了java實現(xiàn)日歷窗口小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JAVA多線程編程實例詳解

    JAVA多線程編程實例詳解

    這篇文章主要介紹了JAVA多線程編程,結(jié)合實例形式總結(jié)分析了多線程、鎖、線程池等相關原理及使用技巧,需要的朋友可以參考下
    2019-09-09
  • java版十大排序經(jīng)典算法:完整代碼

    java版十大排序經(jīng)典算法:完整代碼

    優(yōu)秀的文章也不少,但是Java完整版的好像不多,我把所有的寫一遍鞏固下,同時也真誠的希望閱讀到這篇文章的小伙伴們可以自己去從頭敲一遍,不要粘貼復制!希望我的文章對你有所幫助,每天進步一點點
    2021-07-07

最新評論

罗山县| 惠州市| 抚州市| 蒙城县| 集安市| 深圳市| 广安市| 专栏| 揭东县| 攀枝花市| 桦甸市| 康平县| 霍山县| 宝坻区| 阿拉尔市| 虹口区| 泰宁县| 宜川县| 江城| 永昌县| 张北县| 军事| 昌宁县| 竹溪县| 紫云| 长宁县| 河曲县| 临沭县| 育儿| 江门市| 保定市| 南木林县| 偏关县| 建宁县| 凤翔县| 紫云| 建昌县| 四川省| 凤冈县| 怀柔区| 峨山|