問題タブ [spring-boot-configuration]

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.

0 投票する
2 に答える
741 参照

gson - GSON の null 値のデシリアライズが機能しない

json文字列を逆シリアル化しようとしています。さまざまな API を試しましたが、解決策が見つかりませんでした。ここでは、json の下でデシリアライズしようとしており、各フィールド/要素の値を読み取りたいと考えています。以下の例 -

map.containsKey("phone) と言うと false となります。これは "phone" 要素が json 文字列に存在しないことを意味します。しかし、この要素が入力 json に存在することがわかるので、これは正しくありません。 .

キーに値を与えることができるAPIについて、誰でも私を助けることができますか?

スプリング ブートでは、null 値を受け入れることができる正しいジャクソン デシリアライゼーション構成は何ですか? 現在、私は以下のように使用しています-

0 投票する
1 に答える
33 参照

spring - spring.config.location の動作を古い Springboot バージョンに戻す理由が見つかりません

to/uses-spring.config.location=app.propertiesプロパティを使用して構成場所を提供する展開環境があります。この投稿とこのgithub-brで述べたように、現在の springboot バージョン、つまり2.2.5.RELEASEプロパティの動作が変更されていることに気づきませんでした。予想どおりspring.config.additional-location、jar からもデフォルト値を選択するように使用する必要がありました。

ただし、問題は、同じスプリング ブート バージョンを持つ同じ環境内の別のアプリケーション、つまり 2.2.5.RELEASEspring.config.locationが古い方法で動作していることです。だから、例えば、他のアプリが持っていて、私たちのアプリが持っていない他の依存関係のために、それがどのように起こっているのかまだ疑問に思っていますか?

どのコードが原因で動作が古いバージョンに戻るのかわからないため、どのコード例を提供すればよいかわかりません。ただし、2 つのアプリの実装には次のような違いがあります。

  1. もう 1 つのアプリは @Value アノテーションを使用します。私たちのアプリは @ConfigurationProperties を使用してプロパティ値を読み込みます。使用してみましたが、構成の場所の動作は元に戻りませんでした。
  2. 彼らが使用したいくつかのクラスで@PropertySource(value = "classpath:application.properties")
  3. 他のアプリは比較的古く、何らかの違いがある場合は、スプリングブートのバージョンをアップグレードしています。

これらは、私が今のところ見つけることができるいくつかの違いです. ただし、この動作の変化の原因がわからない場合は、助けてください。

0 投票する
0 に答える
1132 参照

spring - ネストされた構造の Spring Boot @ConfigurationProperties

私は以下のような構成を持っています

以下のクラスで上記の構成を読み取ろうとしています

ただし、このセットアップでエラーが発生します。

ネストされたオブジェクトを使用して、ネストされた構成を解析する方法を教えてください。

0 投票する
2 に答える
55 参照

java - プロファイル固有のプロパティに依存する Spring Boot プロパティ

dev と prod の異なるサーバーに接続する必要がある Spring Boot アプリケーションがあり、それらのサーバーで多くのサービスが実行されています。ここまでで、次のような構成を作成しました。

アプリケーションのプロパティ:

アプリケーション-dev.properties:

アプリケーション prod.properties:

しかし、Bean 引数を で初期化すると@Value("${server.url.srv1}")、「http://192.168.86.17/srv1」や「https://10.11.12.3/srv1」ではなく、「${server.url.base}/srv1」という文字列が返されます。 " 予想通り。

これはまったく実行可能ですか?「${}」参照は、すべての構成ファイルがロードされた後にのみ解決されるはずですが、そうではないようです。

Spring サイト、Google (それ以外の場合は便利なBaeldung サイトを参照)、および hereの両方で回答を検索しましたが、特定の質問に関連するものは何も見つかりませんでした。