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

Spring @Environment典型用法實戰(zhàn)案例

 更新時間:2025年06月18日 10:10:26   作者:張紫娃  
在使用Spring框架進行Java開發(fā)時,我們經常使用@Value和@Environment注解來注入配置文件中的值,這篇文章主要介紹了Spring @Environment典型用法的相關資料,需要的朋友可以參考下

簡單說:Spring 里沒有直接叫 @Environment 的注解,更準確說常用的是 @Autowired 注入 Environment 對象,或者結合 @Value 配合 Environment 讀取配置 。

支持從以下來源讀取

1、application.properties / .yaml

2、JVM 參數(如 -Dkey=value)

3、系統(tǒng)環(huán)境變量

4、自定義 @PropertySource

獲取Environment實例

使用 @Autowired 注入 Environment 接口實例

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {

    @Autowired
    private Environment environment;  // ? 正確方式

    // 使用 environment 對象獲取屬性或 profile
}

結合 @PropertySource 使用示例

@Configuration
@PropertySource("classpath:custom.properties")
public class AppConfig {

    @Autowired
    private Environment env;

    @Bean
    public MyService myService() {
        String customValue = env.getProperty("custom.key");
        return new MyService(customValue);
    }
}

使用Environment實例

獲取配置屬性值

String dbUrl = environment.getProperty("spring.datasource.url");

String appName = environment.getProperty("app.name", "defaultAppName"); // 默認值

獲取類型安全的屬性值

Boolean featureEnabled = environment.getProperty("feature.enabled", Boolean.class, false);

獲取當前激活的 Profile

String[] activeProfiles = environment.getActiveProfiles();
for (String profile : activeProfiles) {
    System.out.println("Active Profile: " + profile);
}

判斷是否匹配某個 Profile

if (environment.acceptsProfiles("dev")) {
    System.out.println("Running in development mode.");
}

// 或者使用更現代的寫法:
if (environment.acceptsProfiles(Profiles.of("dev"))) {
    // dev 環(huán)境邏輯
}

獲取所有 PropertySources(調試用途)

import org.springframework.core.env.AbstractEnvironment;
import org.springframework.core.env.PropertySource;

((AbstractEnvironment) environment).getPropertySources().forEach(ps -> {
    System.out.println("Property Source: " + ps.getName());
});

常見 PropertySource 包括

1、systemProperties(JVM 參數)

2、systemEnvironment(操作系統(tǒng)環(huán)境變量)

3、servletConfigInitParams(Web 配置參數)

4、自定義加載的 @PropertySource

總結

到此這篇關于Spring @Environment典型用法的文章就介紹到這了,更多相關Spring @Environment用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java Socket編程實例(二)- UDP基本使用

    Java Socket編程實例(二)- UDP基本使用

    這篇文章主要講解Java Socket編程中UDP的基本使用,希望能給大家做一個參考。
    2016-06-06
  • Spring Boot使用yml格式進行配置的方法

    Spring Boot使用yml格式進行配置的方法

    很多springboot項目使用的是yml格式,主要目的是方便對讀懂其他人的項目,下面小編通過本文給大家分享Spring Boot使用yml格式進行配置的方法,需要的朋友參考下吧
    2018-04-04
  • springboot整合規(guī)則引擎(liteflow)使用方式

    springboot整合規(guī)則引擎(liteflow)使用方式

    這篇文章主要介紹了springboot整合規(guī)則引擎(liteflow)使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • 詳解Spring Boot最新版優(yōu)雅停機的方法

    詳解Spring Boot最新版優(yōu)雅停機的方法

    這篇文章主要介紹了Spring Boot最新版優(yōu)雅停機的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Java中的隨機數詳解

    Java中的隨機數詳解

    這篇文章主要介紹了Java中的隨機數,需要的朋友可以參考下
    2014-02-02
  • Java線程編程中的主線程講解

    Java線程編程中的主線程講解

    這篇文章主要介紹了Java線程編程中的主線程,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)

    IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)

    下面小編就為大家?guī)硪黄狪ntelliJ IDEA 2017.1.4 x64配置步驟(介紹)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java通過自定義類加載器實現類隔離

    Java通過自定義類加載器實現類隔離

    類隔離是一種通過類加載器實現加載所需類的實現方式,使得不同版本類間隔離,避免了使用沖突問題。本文將通過自定義的類加載器實現類隔離,感興趣的可以了解一下
    2022-08-08
  • 淺談Java中幾種常見的比較器的實現方法

    淺談Java中幾種常見的比較器的實現方法

    下面小編就為大家?guī)硪黄獪\談Java中幾種常見的比較器的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • springboot @ConditionalOnMissingBean注解的作用詳解

    springboot @ConditionalOnMissingBean注解的作用詳解

    這篇文章主要介紹了springboot @ConditionalOnMissingBean注解的作用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論

乌拉特后旗| 图们市| 东丰县| 屏东县| 平安县| 禹州市| 蓬溪县| 旬阳县| 澳门| 阳西县| 仙游县| 宝丰县| 交口县| 麻城市| 南丰县| 太仓市| 丹寨县| 沂水县| 务川| 渭源县| 望城县| 千阳县| 宣恩县| 同德县| 报价| 洪江市| 镇原县| 甘德县| 措勤县| 伊金霍洛旗| 嘉禾县| 蒙自县| 寻甸| 朝阳县| 长兴县| 壶关县| 包头市| 通河县| 五大连池市| 鲁甸县| 隆安县|