問題タブ [spring-properties]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - プロパティ ファイルからリストを読み取り、スプリング アノテーション @Value でロードする
.properties ファイルに値のリストが必要です。つまり、次のようになります。
そして、それをクラスに直接ロードするには、次のようにします。
私が理解しているように、これを行う代わりに、それをSpring構成ファイルに入れ、それをBean参照としてロードします(間違っている場合は修正してください)。
しかし、これを行う方法はありますか?.properties ファイルを使用していますか? ps: 可能であれば、カスタム コードを使用せずにこれを行いたいと思います。
java - Spring @Value がプロパティ ファイルの値に解決されない
以前に他のプロジェクトでこれを機能させたことがあります。同じことをやり直していますが、何らかの理由で機能していません。Spring@Value
はプロパティ ファイルから読み取っていませんが、代わりに文字通り値を取得しています。
AppConfig.java
applicationContext.xml:
appconfig.properties
私が持っている私のコントローラーでは:
アプリケーションは問題なく起動しますが、起動すると
それは返す
プロパティ ファイル内の値に解決されません。
考え?
java - Spring @Value("${}") 多くの場合 null
Spring Boot アプリケーションを使用しています。一部の@Component
クラス@Value
ではフィールドがロードされますが、他のクラスでは常にnull
.
/が作成された後に@Value
(s) がロードされるようです。@Bean
@Component
のプロパティ ファイルからいくつかの値をロードする必要があります@Bean
。
何か提案はありますか?
java - messageSource.getMessage send IllegalArgumentException: パターン内の中かっこが一致しません
spring MessageSource を使用して、ローカリゼーション プロパティ ファイルからメッセージをフェッチします。
この場合、ユーザーに送信する前にメールを作成するために使用します。
ここに message.properties のプロパティがあります
したがって、ここでは、messageSource.getMessage の 2 つの使用法があります。最初のものは機能し、2 番目のものは IllegalArgumentException: Unmatched Braces in the pattern をスローします。
メッセージを変更し、変数を変更/削除し、引用符と二重引用符を削除し、プロパティを message.properties ファイルの別の場所に移動しようとしましたが、常に同じエラーが発生します
spring - Spring Cloud Config との共有プロパティ
Spring システムを Spring Cloud Config を使用するように移行することを考えています。
システムは複数のサービスで構成されており、DB データソースなどの共通リソースのいくつかの共有プロパティがあります。これらのために、一般的に使用されるプロパティを 1 か所に含む「ベース」構成ファイルがあります。各サービスは、最初に共通ファイルを読み取り、その上でプロパティ ファイルをオーバーロードします。これにより、共通のプロパティを繰り返す必要がなくなります。
spring cloud config で同じことを行う方法がわかりません。さまざまなリポジトリのオプションが表示されますが、プロパティ ファイルのオーバーロードは表示されません。
java - Spring 4.x でのカスタム プロパティ管理
これを読んで、Web アプリで自分の環境を簡単にカスタマイズできることを知りました。
私のカスタマイズは非常に単純です。デプロイ可能な war ファイルにパッケージ化されたいくつかのプロパティ ファイルがあり、オーバーラップした場合にこれらのプロパティをオーバーライドするローカル プロパティ ファイルを Web サーバー マシンに配置したいと考えています。そのために、ApplicationContextInitializer インターフェイスを実装し、ローカル プロパティ ファイルをロードして、 environmentの addFirst メソッドを使用しました。これにより、ローカル ファイルが war にパックされたプロパティ ファイルを上書きするようになりました。
これは完璧に機能しました。今、私はJava-Springプロセス(Webアプリではない)で同じことをしたいのですが、どうすればできますか?
これまでに見つけた最善の解決策は、構成クラスにメソッドを追加し、@PostConstructアノテーションを付けることです。このメソッドは、ApplicationContextInitializer の initialize メソッドとまったく同じことを行います。
条件付きで読み込まれるいくつかの Bean があり、これ (条件付き注釈コード) が @postConstruct メソッドの前に発生するため、このソリューションは私のニーズに応えません(条件付き読み込みは私のプロパティに基づいているため、これは良くありません)。
spring-boot - @Value は常に null
@Value アノテーションを使用しようとすると、値が null になる状況があります。
これは大規模なプロジェクトの一部であり、どの部分が必要なのかわかりません。Java 注釈 (xml ファイルなし) と Spring ブートを使用しています。
application.properties には以下が含まれます。
一部のWebサイトでそうするように言及されているように、PropertySourcesPlaceholderConfigurerを作成しようとしました。
これを使用しようとしているクラスは次のとおりです。
ただし、実行時には、maxFileUploadSize は常に null です。PropertySourcesPropertyResolver が application.properties ファイル内で正しい値を見つけたように見える以下のデバッグ コメントに注意してください。
java - Spring はプロパティ ファイルを読み取りますが、値は null です
ここの問題がよくわかりません。Spring アプリケーションでプロパティ ファイルを使用しようとしています。ファイルは読み取られるようですが、値を読み取ろうとするとnullになります。
これは私のコンテキストxmlの(一部)です:
src/main/resources の下に test.properties があります
次のように実行しようとすると:
出力は次のようになります。
それで、システムプロパティ以外に「propertySources」に何かが表示されるはずだと思いますか?
また、xml行を次のように変更すると:
ファイル自体がロードされたことを意味する FileNotFound 例外が発生しますか? では、なぜそこからプロパティを読み込めないのでしょうか?
test.properties には、これだけがあります。
ここで何が問題になる可能性がありますか?