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

Spring中讀取配置文件的五種方式

 更新時(shí)間:2024年10月11日 11:29:58   作者:A楊寬A  
在使用spring或springboot項(xiàng)目開發(fā)中,難免會(huì)涉及到讀取配置文件的各種配置參數(shù)的情況,因?yàn)楫?dāng)項(xiàng)目的規(guī)模上去之后,在單個(gè)配置文件中維護(hù)所有的配置信息很難滿足實(shí)際的需要,所以本文給大家介紹了Spring讀取配置文件多種方式,需要的朋友可以參考下

Spring中讀取配置文件的五種方式

  1. @Value:只能讀取單個(gè)配置項(xiàng)
  2. @ConfigurationProperties:可以一次性讀取多個(gè)配置項(xiàng),將多個(gè)配置項(xiàng)轉(zhuǎn)換為Bean對(duì)象。需要配合prefix使用。
  3. @PropertySource+@Value:獲取自定義配置文件的單個(gè)配置項(xiàng)。
  4. @PropertySource+@ConfigurationProperties:獲取自定義配置文件的多個(gè)配置項(xiàng)。
  5. Environment的getProperty方法獲取,很少使用。

舉例說明:

第一種:@Value注解方式獲取

application.yml

server:
  port: 9201

取值方式:

    @Value("${server.port}")
    private String port;

第二種:@ConfigurationProperties注解方式獲取

application.yml

student:
  name: 張三
  age: 18

取值方式:

@Configuration
@ConfigurationProperties(prefix = "student")
public class CaptchaProperties{
	private String name;
	private Integer age;
	...
}

注:需要配和@Component使用,本文中使用的@Configuration,我們查看Configuration注解會(huì)發(fā)現(xiàn)它使用了@Component注解

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {
...
}

第三種:@PropertyResource + @Value注解方式獲取,可讀取自定義配置文件。只支持讀取.properties類型的配置文件,yml類型的配置文件需要自定義。

student.properties

student.name = 張三
student.age = 18

取值方式:

@Component
@PropertyResouce(value = "classpath:student.properties")
public class Student implements Serializable{
	@Value("${student.name}")
	private String name;
	
	@Value("${student.age}")
	private Integer age;
	...
}

第四種:@PropertyResource + @ConfigurationProperties注解方式獲取,可讀取自定義配置文件。只支持讀取.properties類型的配置文件,yml類型的配置文件需要自定義。

student.properties

student.name = 張三
student.age = 18

取值方式:

/**
 * @Component標(biāo)識(shí)為是Spring的一個(gè)組件,只有容器組件,容器才會(huì)為ConfigurationProperties提供此注入共    	
 * 功能
 */
@Component
@PropertyResouce(value = "classpath:student.properties")
@ConfigurationProperties(prefix = "student")
public class Student implements Serializable{
	private String name;
	private Integer age;
	...
}

第五種:Environment方式讀取,基本很少使用

application.yml

student:
  name: 張三
  age: 18

取值方式:

...
@Autowired
private Environment env;

public String getUserName(){
	return env.getProperty("student.name");
}
...

以上就是Spring中讀取配置文件的五種方式的詳細(xì)內(nèi)容,更多關(guān)于Spring讀取配置文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java基礎(chǔ)總結(jié)之Thymeleaf詳解

    Java基礎(chǔ)總結(jié)之Thymeleaf詳解

    Thymeleaf是一種現(xiàn)代的基于服務(wù)器端的Java模板引擎技術(shù),也是一個(gè)優(yōu)秀的面向Java的XML、XHTML、HTML5頁面模板,它具有豐富的標(biāo)簽語言、函數(shù)和表達(dá)式,在使用Spring Boot框架進(jìn)行頁面設(shè)計(jì)時(shí),一般會(huì)選擇Thymeleaf模板,需要的朋友可以參考下
    2021-05-05
  • JVM中對(duì)象的創(chuàng)建與OOP-Klass模型

    JVM中對(duì)象的創(chuàng)建與OOP-Klass模型

    這篇文章主要介紹了JVM中對(duì)象的創(chuàng)建與OOP-Klass模型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 深入理解HashMap各個(gè)方法的源碼

    深入理解HashMap各個(gè)方法的源碼

    這篇文章主要介紹了深入理解HashMap各個(gè)方法的源碼,HashMap初始容量不能為負(fù)數(shù),若初始容量大于最大容量,則讓它等于最大容量,負(fù)載因子必須大于0,并且傳入的initialCapacity不是HashMap的容量大小,需要的朋友可以參考下
    2023-12-12
  • Spring @Bean注解的使用場景與案例實(shí)現(xiàn)

    Spring @Bean注解的使用場景與案例實(shí)現(xiàn)

    隨著SpringBoot的流行,我們現(xiàn)在更多采用基于注解式的配置從而替換掉了基于XML的配置,所以本篇文章我們主要探討基于注解的@Bean以及和其他注解的使用
    2023-03-03
  • Java中的模板模式說明與實(shí)現(xiàn)

    Java中的模板模式說明與實(shí)現(xiàn)

    這篇文章主要介紹了Java中的模板模式說明與實(shí)現(xiàn),模板方法模式,又叫模板模式,在一個(gè)抽象類公開定義了執(zhí)行它的方法的模板,它的子類可以更需要重寫方法實(shí)現(xiàn),但可以成為典型類中定義的方式進(jìn)行,需要的朋友可以參考下
    2023-10-10
  • Springboot整合mqtt實(shí)現(xiàn)軟硬件通信的示例代碼

    Springboot整合mqtt實(shí)現(xiàn)軟硬件通信的示例代碼

    本文介紹了如何使用Spring Boot整合MQTT協(xié)議,實(shí)現(xiàn)物聯(lián)網(wǎng)軟硬件通信, MQTT是一種輕量級(jí)的消息隊(duì)列遙測傳輸協(xié)議,適用于物聯(lián)網(wǎng)設(shè)備通信和遠(yuǎn)程監(jiān)控,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • Nacos封裝通用HttpClient詳解

    Nacos封裝通用HttpClient詳解

    這篇文章主要介紹了Nacos封裝通用HttpClient用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot+Vue+Redis實(shí)現(xiàn)單點(diǎn)登錄(一處登錄另一處退出登錄)

    SpringBoot+Vue+Redis實(shí)現(xiàn)單點(diǎn)登錄(一處登錄另一處退出登錄)

    小編接到一個(gè)需求,需要實(shí)現(xiàn)用戶在瀏覽器登錄后,跳轉(zhuǎn)到其他頁面,當(dāng)用戶在其它地方又登錄時(shí),前面用戶登錄的頁面退出登錄,這篇文章主要介紹了SpringBoot+Vue+Redis實(shí)現(xiàn)單點(diǎn)登錄,需要的朋友可以參考下
    2019-12-12
  • IDEA創(chuàng)建Spring?Boot?Web項(xiàng)目完整圖文教程

    IDEA創(chuàng)建Spring?Boot?Web項(xiàng)目完整圖文教程

    在軟件開發(fā)的浩瀚海洋中,SpringBoot以其獨(dú)特的魅力和強(qiáng)大的功能,為開發(fā)者開辟了一條通往高效、便捷開發(fā)之路,這篇文章主要介紹了IDEA創(chuàng)建Spring Boot Web項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • 關(guān)于JFormDesigner的安裝及破姐超詳細(xì)教程

    關(guān)于JFormDesigner的安裝及破姐超詳細(xì)教程

    JFormDesigner是一種先進(jìn)的圖形用戶界面Swing?的設(shè)計(jì)工具(非開源),具有一個(gè)獨(dú)立的開發(fā)工具產(chǎn)品和基于不同開發(fā)工具如Eclipse、NetBeans等的開發(fā)插件,本文給大家介紹JFormDesigner安裝破解教程,感興趣的朋友一起看看吧
    2023-12-12

最新評(píng)論

临高县| 西吉县| 丰都县| 呼伦贝尔市| 杂多县| 桐乡市| 新丰县| 江口县| 伊金霍洛旗| 溆浦县| 永胜县| 鲁甸县| 皮山县| 莱西市| 铁力市| 大足县| 龙游县| 乃东县| 石城县| 宁陕县| 鱼台县| 屯留县| 马关县| 呼图壁县| 康马县| 娱乐| 宁都县| 富民县| 法库县| 常宁市| 衡南县| 海口市| 文昌市| 阳江市| 淳化县| 黑水县| 沧源| 山东省| 梧州市| 胶南市| 蓝山县|