SpringBootでSpringApplicationを使用してアプリケーションを起動するとき、どのようにメンバ変数にアクセスしますか?SpringBootでSpringApplicationからクラスメンバー変数にアクセスする方法
以下のコードでは、Environment
とBuildProperties
に割り当て時にコンパイルエラーが発生しています。私はSpringApplication
またはConfigurableApplicationContext
を介してこれらのプロパティを参照する方法がなければならないと思いますが、どのようにわかりません。
私が得ているコンパイルエラーは、 non-static variable environment cannot be referenced from a static context
です。私はその回避方法を理解しています。
私の質問は本当ですか - SpringApplicationは、通常のjava MyClass myClass = new MyClass()と同じようにClassレベルの参照を返しますか?あなたは
@Autowire
Environment env;
またはあなたのメインクラス内のこの種のロジックを持つコンテキスト自体
ConfigurableApplicationContext run = SpringApplication.run(ExampleApplication.class, args);
ConfigurableEnvironment environment = run.getEnvironment();
mainメソッドからそのような変数にアクセスする必要があるのはなぜですか? – gtosto
私は別のクラスをインスタンス化して、これらの値を渡しているので...私はこの問題を明確にするのに役立つこのコードを表示するために私のコード例を更新しました。 通常のJavaプログラムでは、単にクラスをインスタンス化し、そのクラスを通してメンバー変数を参照していますが、Springを経由しているので、これは不可能です。 – robbie70
私の質問は本当にだと思います - SpringApplicationは、通常のjava 'MyClass myClass = new MyClass()'と同じようにClassレベルの参照を返しますか? – robbie70