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

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

在創建 Spring 應用程序上下文之前閱讀 application.properties

在創建 Spring 應用程序上下文之前閱讀 application.properties

慕絲7291255 2023-04-19 16:10:02
作為 Spring Boot 項目的一部分,我試圖在創建 Spring ApplicationContext 之前讀取 application.properties,如下所示,主類package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ApplicationContext;@SpringBootApplicationpublic class DemoApplication {    public static void main(String[] args) {        ConfigurationClass con = new ConfigurationClass();        con.readProperties();        ApplicationContext c = SpringApplication.run(DemoApplication.class, args);    }}配置類,package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.PropertySource;import org.springframework.core.env.Environment;@Configuration@PropertySource("classpath:application.properties")public class ConfigurationClass {    private String value1;    private String value2;    @Autowired    private Environment env;    public void readProperties() {        value1 = env.getProperty("app.value1");        value2 = env.getProperty("app.value2");    }    public String getValue1() {        return value1;    }    public String getValue2() {        return value2;    }}我想從 application.properties 中獲取一些基本值并進行一些配置。這段代碼發生的事情是它拋出一個nullpointerexceptionsince envis null during value1 = env.getProperty("app.value1");。我在這里做錯了什么?在創建 springapplication 上下文之前的這個時間點,我如何讀取 application.properties 中的值?任何幫助,將不勝感激!
查看完整描述

1 回答

?
暮色呼如

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

   @Configuration

    @PropertySource("classpath:application.properties")

    public class ConfigurationClass {

        @Value("${app.value1}")    

        private String value1;


        @Value("${app.value2}")    

        private String value2;


        public String getValue1() {

        return value1;

        }


        public String getValue2() {

        return value2;

       }

 }

然后調用它


 @SpringBootApplication

public class DemoApplication {


   public static void main(String[] args) {


    ApplicationContext c = SpringApplication.run(DemoApplication.class, args);

    ConfigurationClass  con = c.getBean(ConfigurationClass.class);

    System.out.println(con.getValue1());

    System.out.println(con.getValue2());

     }

}


查看完整回答
反對 回復 2023-04-19
  • 1 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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