自分がspring bootのプロジェクトの開発の初期段階で、よくあれ、どうするんだっけ? と思うことの一つに、環境変数がある。 @Autowireにするんだけど、最初に環境変数の初期化を行いたいし、 このクラスも@Autowireにしたい そんなとき、いろいろ方法があるのだろうけど、自分が見つけたうまくいったパターンをメモしておく やり方 コンストラクタの引数を以下のように書く // コンストラクタ public 環境変数を利用するクラス名(@Autowired 自作の環境変数のクラス名 変数名) { } *** 相対パスの書き方 [#g783a4d2] そういえば、resourcesフォルダに格納されたファイルのパスって プロジェクトのルートから相対的に呼びたいけど、どうするだろうか。 } これで、初期化時に環境変数を利用してくれるコンストラクターを書くことができ、テスト時は、環境変数を任意に変更してテストがしやすくなる。 その時に使うのが、springが提供しているClassPathResourceクラスだ。