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

Spring Boot如何讀取自定義外部屬性詳解

 更新時(shí)間:2021年05月26日 08:40:57   作者:隱身的提莫  
這篇文章主要給大家介紹了關(guān)于Spring Boot如何讀取自定義外部屬性的相關(guān)資料,這個(gè)功能實(shí)現(xiàn)介紹的很詳細(xì),需要的朋友可以參考下

測試的環(huán)境:Spring Boot2 + Maven +lombok

準(zhǔn)備需要用到的基礎(chǔ)類:

public class People {
    private String name;
    private String address;
    private String phone;
}

準(zhǔn)備默認(rèn)的配置文件application.properties,內(nèi)容如下

people.default.name=zs
people.default.address=ccc
people.default.phone=122122

準(zhǔn)備自定義配置文件people.properties,內(nèi)容如下

people.default.name=test-zs
people.default.address=test-address
people.default.phone=111111

準(zhǔn)備測試類

@RestController
public class PeopleController {

    @Autowired
    private People people;

    @RequestMapping("/test1")
    public void test1(){
        System.out.println(people);
    }
}

第一種情況:讀取默認(rèn)配置文件中的自定義屬性(如application.properties)

1、直接在指定類讀取文件屬性

@Data
//@Setter
@ToString
@Configuration
@ConfigurationProperties(prefix = "people.default")
public class People {
    private String name;
    private String address;
    private String phone;
}

測試結(jié)果:

注意:類用到了lombok的注解(@Data)或者使用@Setter注解。所以有g(shù)etter/setter。如果沒有使用注解,則需要setter方法才能讀取成功。

2、配合@Vaule讀取文件屬性

@Configuration
public class PeopleConfigrution {

    @Value("${people.default.name}")
    private String name;
    @Value("${people.default.address}")
    private String address;
    @Value("${people.default.phone}")
    private String phone;

    @Bean
    public People initPeople(){
        People people=new People();
        people.setName(name);
        people.setPhone(phone);
        people.setAddress(address);
        return people;
    }
}

測試結(jié)果:

3、使用Environment讀取

@Configuration
public class PeopleConfigrution {

    @Autowired
    private Environment environment;

    @Bean
    public People initPeople(){
        People people=new People();
        people.setName(environment.getProperty("people.default.name"));
        people.setPhone(environment.getProperty("people.default.phone"));
        people.setAddress(environment.getProperty("people.default.address"));
        return people;
    }
}

測試結(jié)果:

第二種情況:讀取自定義文件中的屬性(如people.properties)

需指定讀取文件的位置,可使用@PropertySource注解指定,如

@Data
//@Setter
@ToString
@Configuration
@PropertySource("classpath:people.properties")  //指定讀取文件位置,可與讀取默認(rèn)文件第一種方式相比。
@ConfigurationProperties(prefix = "people.default")
public class People {
    private String name;
    private String address;
    private String phone;
}

測試結(jié)果:

以上列舉的不是全部方式,加載文件的方式還有其他方式,這篇只是列舉常用的方式。

總結(jié)

到此這篇關(guān)于Spring Boot如何讀取自定義外部屬性的文章就介紹到這了,更多相關(guān)SpringBoot讀取外部屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入解析Java的設(shè)計(jì)模式編程中的模板方法模式

    深入解析Java的設(shè)計(jì)模式編程中的模板方法模式

    這篇文章主要介紹了深入解析Java的設(shè)計(jì)模式編程中的模板方法模式, 模版方法模式由一個(gè)抽象類和一個(gè)(或一組)實(shí)現(xiàn)類通過繼承結(jié)構(gòu)組成,需要的朋友可以參考下
    2016-02-02
  • 淺析Java語言中狀態(tài)模式的優(yōu)點(diǎn)

    淺析Java語言中狀態(tài)模式的優(yōu)點(diǎn)

    狀態(tài)模式允許對象在內(nèi)部狀態(tài)改變時(shí)改變它的行為,對象看起來好像修改了它的類。這個(gè)模式將狀態(tài)封裝成獨(dú)立的類,并將動(dòng)作委托到 代表當(dāng)前狀態(tài)的對象,我們知道行為會(huì)隨著內(nèi)部狀態(tài)而改變
    2023-02-02
  • Spring Boot集成Druid數(shù)據(jù)庫連接池

    Spring Boot集成Druid數(shù)據(jù)庫連接池

    這篇文章主要介紹了Spring Boot集成Druid數(shù)據(jù)庫連接池,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • SpringSecurity導(dǎo)致SpringBoot跨域失效的問題解決

    SpringSecurity導(dǎo)致SpringBoot跨域失效的問題解決

    本文主要介紹了SpringSecurity導(dǎo)致SpringBoot跨域失效的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Java RabbitMQ 中的消息長期不消費(fèi)會(huì)過期嗎

    Java RabbitMQ 中的消息長期不消費(fèi)會(huì)過期嗎

    RabbitMQ支持消息的過期時(shí)間,在消息發(fā)送時(shí)可以進(jìn)行指定。 RabbitMQ支持隊(duì)列的過期時(shí)間,從消息入隊(duì)列開始計(jì)算,只要超過了隊(duì)列的超時(shí)時(shí)間配置,那么消息會(huì)自動(dòng)的清除
    2021-09-09
  • SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法

    SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法

    這篇文章主要介紹了SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 在Jpa框架下拼接原生sql 并執(zhí)行的操作

    在Jpa框架下拼接原生sql 并執(zhí)行的操作

    這篇文章主要介紹了在Jpa框架下拼接原生sql 并執(zhí)行的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java基礎(chǔ):流Stream詳解

    Java基礎(chǔ):流Stream詳解

    Stream流是數(shù)據(jù)渠道,用于操作數(shù)據(jù)源(集合、數(shù)組等)所生成的元素序列。這篇文章主要介紹了Java8新特性Stream流的相關(guān)資料,需要的朋友參考下吧
    2021-09-09
  • Spring Security認(rèn)證機(jī)制源碼層探究

    Spring Security認(rèn)證機(jī)制源碼層探究

    SpringSecurity是基于Filter實(shí)現(xiàn)認(rèn)證和授權(quán),底層通過FilterChainProxy代理去調(diào)用各種Filter(Filter鏈),F(xiàn)ilter通過調(diào)用AuthenticationManager完成認(rèn)證 ,通過調(diào)用AccessDecisionManager完成授權(quán)
    2023-03-03
  • Spring Boot 集成 Quartz 使用Cron 表達(dá)式實(shí)現(xiàn)定時(shí)任務(wù)

    Spring Boot 集成 Quartz 使用Cron 表達(dá)式實(shí)現(xiàn)定

    本文介紹了如何在SpringBoot項(xiàng)目中集成Quartz并使用Cron表達(dá)式進(jìn)行任務(wù)調(diào)度,通過添加Quartz依賴、創(chuàng)建Quartz任務(wù)、配置任務(wù)調(diào)度以及啟動(dòng)項(xiàng)目,可以實(shí)現(xiàn)定時(shí)任務(wù)的執(zhí)行,Cron表達(dá)式提供了靈活的任務(wù)調(diào)度方式,適用于各種復(fù)雜的定時(shí)任務(wù)需求,感興趣的朋友一起看看吧
    2025-03-03

最新評論

尖扎县| 穆棱市| 崇州市| 汝南县| 休宁县| 江华| 定州市| 宜城市| 台中市| 惠来县| 玉环县| 建宁县| 独山县| 旬邑县| 乌恰县| 太白县| 绥阳县| 加查县| 金川县| 苍梧县| 亳州市| 东阳市| 万全县| 台南市| 浦北县| 惠安县| 宜兰市| 江安县| 湖州市| 简阳市| 石首市| 健康| 无极县| 德格县| 颍上县| 涿鹿县| 鄄城县| 横山县| 长乐市| 贵港市| 商南县|