亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在自定義啟動器中訪問 spring 應用程序名稱

在自定義啟動器中訪問 spring 應用程序名稱

元芳怎么了 2022-01-19 09:28:33
我試圖在自定義啟動器自動配置中訪問 spring 應用程序名稱。@Configurationpublic class CustomAutoConfiguration {    @Value("${spring.application.name}")    private String appName;}spring.factories 作為,org.springframework.boot.autoconfigure.EnableAutoConfiguration=\co.test.CustomAutoConfiguration在使用此自定義啟動器的應用程序中,我已在 bootstrap.yamlspring:  application:    name: test-app但是,我看到 appName 是null. 我的猜測是這與加載順序有關嗎?無論如何要做到這一點?
查看完整描述

3 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

我過去有類似的問題,我通過自動裝配解決了org.springframework.core.env.Environment;像這樣的東西:


@Configuration

public class CustomAutoConfiguration {

    @Autowired

    private Evinronment env;

    private String appName;

    @PostConstruct

    public void initialize(){

       this.appName = env.getProperty("spring.application.name");

    }


}

未經測試,但它應該可以工作


查看完整回答
反對 回復 2022-01-19
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

這最終奏效了。


@Configuration

public class CustomAutoConfiguration implements EnvironmentAware {


    @Override

    public void setEnvironment(Environment environment) {

        this.environment = environment;

    }


    // And then accessing via this.environment.getProperty("spring.application.name")


}


查看完整回答
反對 回復 2022-01-19
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

可能與bootstrap.yml加載順序有關。我們@Value@Configuration課堂上一直沒有問題,但我們使用application.properties. 你試過在那里設置嗎?或者也許在命令行上?


查看完整回答
反對 回復 2022-01-19
  • 3 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號