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

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’ 在需要使用的組件中,設(shè)定@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)容,更多關(guān)于springboot讀取自定義屬性的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springMVC使用ajaxFailUpload上傳圖片的方法

    springMVC使用ajaxFailUpload上傳圖片的方法

    這篇文章主要介紹了springMVC使用ajaxFailUpload上傳圖片的相關(guān)知識,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • springboot登錄攔截器+ThreadLocal實現(xiàn)用戶信息存儲的實例代碼

    springboot登錄攔截器+ThreadLocal實現(xiàn)用戶信息存儲的實例代碼

    ThreadLocal 為變量在每個線程中創(chuàng)建了一個副本,這樣每個線程都可以訪問自己內(nèi)部的副本變量,這篇文章主要介紹了springboot登錄攔截器+ThreadLocal實現(xiàn)用戶信息存儲的實例代碼,需要的朋友可以參考下
    2024-03-03
  • 詳解mybatis @SelectProvider 注解

    詳解mybatis @SelectProvider 注解

    這篇文章主要介紹了mybatis @SelectProvider 注解的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-12-12
  • Java本地緩存實現(xiàn)代碼示例

    Java本地緩存實現(xiàn)代碼示例

    這篇文章主要給大家介紹了關(guān)于Java本地緩存實現(xiàn)的相關(guān)資料,對于緩存的作用不言而喻,可以提高查詢效率,比去DB查詢的速度要快,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-08-08
  • Springboot2.6.x高版本與Swagger2版本沖突問題解決方法

    Springboot2.6.x高版本與Swagger2版本沖突問題解決方法

    Spring Boot 2.6.x版本引入依賴?springfox-boot-starter?(Swagger?3.0) 后,啟動容器會報錯,本文就介紹一下Springboot2.6.x高版本與Swagger2版本沖突問題解決方法,感興趣的可以了解一下
    2022-04-04
  • Springboot獲取前端反饋信息并存入數(shù)據(jù)庫的實現(xiàn)代碼

    Springboot獲取前端反饋信息并存入數(shù)據(jù)庫的實現(xiàn)代碼

    這篇文章主要介紹了Springboot獲取前端反饋信息并存入數(shù)據(jù)庫的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 如何巧用HashMap一行代碼統(tǒng)計單詞出現(xiàn)次數(shù)詳解

    如何巧用HashMap一行代碼統(tǒng)計單詞出現(xiàn)次數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于如何巧用HashMap一行代碼統(tǒng)計單詞出現(xiàn)次數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • SpringBoot+docker環(huán)境變量配置詳解

    SpringBoot+docker環(huán)境變量配置詳解

    這篇文章主要介紹了SpringBoot+docker環(huán)境變量配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • SpringBoot 項目添加 MDC 日志鏈路追蹤的執(zhí)行流程

    SpringBoot 項目添加 MDC 日志鏈路追蹤的執(zhí)行流程

    日志鏈路追蹤就是將一個標志跨線程進行傳遞,在一般的小項目中也就是在你新起一個線程的時候,或者使用線程池執(zhí)行任務的時候會用到,比如追蹤一個用戶請求的完整執(zhí)行流程,本文給大家介紹SpringBoot MDC 日志鏈路追蹤的代碼,感興趣的朋友一起看看吧
    2021-06-06
  • java實現(xiàn)英文翻譯程序

    java實現(xiàn)英文翻譯程序

    這篇文章主要為大家詳細介紹了java實現(xiàn)英文翻譯程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評論