.yml
ファイルからプロパティをロードする必要があります。このファイルには、アプリケーションがファイルを読み込むことができるフォルダへのパスが含まれています。スプリングブート:YAMLファイルから@Valueをロード
私は財産を注入するには、次のコードを使用しています:
@Value("${files.upload.baseDir}")
private String pathToFileFolder;
開発のための.yml
ファイルがsrc/main/resources/config/application.yml
の下に配置され、イムは、開発設定を上書きし、生産で次のコマンドを使用してアプリケーションを実行しています:
java -jar app.jar --spring.config.location=/path/to/application-production.yml
春ブーツのドキュメントは言う:
SpringApplicationは次の場所にapplication.propertiesファイルからプロパティをロードし、春の環境に追加されます:カレントディレクトリの
A/configサブディレクトリ。
カレントディレクトリ
クラスパスの/ configパッケージ
クラスパスのルート
と同様に:
また、YAMLを使用することができます( '.yml')ファイルを別名'.properties'に設定します。
{...} files: upload: baseDir: /Users/Thomas/Code/IdeaProjects/project1/files {...}
そして、私の
Application
クラスがでアノテートされています:
.yml
ファイルが含まれてい
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'files.upload.baseDir' in string value "${files.upload.baseDir}"
:私は、アプリケーションを実行すると、私は例外を取得
@SpringBootApplication
@EnableCaching
私は持っていますか? YamlPropertySourceLoader
クラスを使用するか、特別な注釈を追加してSpringブートの.yml
のサポートを有効にしますか?
編集: .yml
ファイルが正常にdataSource.XXX
またはhibernate.XXX
のような春ブーツによってロードされますいくつかの他の特性を含んでいます。
--debugでプログラムを実行する – Marged
開発に使用したのと同じ '.yaml'ファイルで試しましたか?プロジェクトの外に出て、コマンドで実行しようとするだけです。そうすれば、ファイルの入力ミスを捨てます。 –
プロパティはありません。アップロードする前にスペースが多すぎます。 –