私は春には本当に新しいです。私はスプリングブートによって提供される外部設定機能を使用します。それはうまく動作し、いくつかの設定クラスで使用されました。多くの場合、デフォルト値でのみ使用されます。ここでは、私が使った構成プロパティの概要を知りたいと思います。 これは、@Value(...)
または@ConfigurationProperties(prefix = ...)
で設定されたすべてのプロパティを知る必要があることを意味します。この情報をSpringから取得する方法はありますか?私は反射でこれを行うことができますが、これは最良の方法ではないと私は考えています。Springブートですべての設定プロパティの名前を取得する方法はありますか?
答えて
STSを使用している場合は、自動完全機能を備えたapplication.propertiesファイル用の特別なエディタがあります。 Eclipseを使用している場合は、設定するクラスに移動して、コード内の@Valueアノテーションを確認する必要があります。
ありがとうございますが、これは私の問題を解決しません。 myselveでプログラムを拡張したり、すべての設定エントリを手作業でプロパティファイルに書き込まなくても、myselveを拡張して他の開発者に渡したいと考えています。このように私は、プログラムが開始された後、デフォルト値を含む全体の構成を新しいプロパティファイルに書き込むことが可能であることを期待していました。 STSエディタを使用することで、私はまだすべての構成プロパティを知っている手で構成を書く必要があります。 – Chris
META-INF/additional-spring-configuration-metadata.jsonというファイルを作成し、次のようなコンテンツを追加できます。 {"properties":[{ "name": "my.att"、 "type" "java.lang.Stringで"、 "説明":追加することができますで がapplication.properties}]} " 'my.att' の説明":STSを使用 my.att = 20 オートコンプリートは、メタデータファイルで提供される説明で利用可能になります。詳細はこちらhttps://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html – Sigrist
プログラムの開発者にとって可能な方法です。しかし、私が望むのは、設定ファイルを削除してプログラムを再起動するだけで、(特別なエディタを持たない)プログラムの使用者がデフォルトの設定を再作成できるようにすることです(現在の設定が壊れている場合など)。ですから、デフォルトの設定ファイルを作成するために必要な情報を上書きして取得できるクラスがあるかどうかを知る必要があります。 – Chris
- 1. C#設定されているプロパティの名前を取得する方法
- 2. すべての親要素の名前を取得するより良い方法はありますか?
- 3. すべてのRefluxアクション名のリストを取得する方法と、すべてのRefluxアクション名のpreEmitフックを取得する方法はありますか?
- 4. Springブートでいくつかの設定をスキップする方法
- 5. UWPでContentプロパティの名前を取得する方法は?
- 6. SpringブートでSolrフィールドのtokenizerを設定する方法は?
- 7. Sytem.Threading.Taskの名前を設定する方法はありますか?
- 8. Springブート:Jacksonは "application.properties"から設定を取得しません
- 9. すべての親の名前を取得する方法
- 10. javaに配列の名前を取得する方法はありますか?
- 11. iPhoneユーザーの名前を取得する方法はありますか?
- 12. csvファイルでファイル名を取得する方法はありますが、powershellで名前の一部を切り捨てる方法はありますか?
- 13. Springブート@ConfigurationProperties - プログラムですべてのプロパティキーを取得していますか?
- 14. Spring MVC:jspファイルの名前をハンドラメソッド内で取得する方法
- 15. Azure設定ファイルからすべての設定を取得する方法は?
- 16. 特定のUIImageViewプロパティを取得する方法はありますか?
- 17. laravelで名前ルートをすべて取得する方法
- 18. Springブートyamlのapplication.propertiesでspring.config.locationを設定する方法
- 19. Springアプリケーション/コンテナ内でBeanとして設定されているすべてのjavax.sql.DataSourceのコレクションを取得する方法はありますか?
- 20. サブモジュールを使ってSpringブートを設定する方法
- 21. jarファイル内のすべてのSpring Bean名を取得する方法は?
- 22. FormControlを設定または取得する前に値を代入する方法はありますか?
- 23. 一部/すべての「サブ」アイテムに対してプロパティ/属性を設定する方法はありますか?
- 24. プロパティを設定する前にSpringコールオブジェクトコンストラクタ
- 25. ThymeleafでSpringブートでフラッシュメッセージを設定する方法
- 26. EclipseのSpringブートapplication.propertiesにオートコンプリートを適用する方法はありますか?
- 27. コンポーネントのプロパティを取得してnilにする方法はありますか?
- 28. javascriptオブジェクトのすべてのキーのプロパティを取得する簡単な方法はありますか?
- 29. ここで、グラフデータベースNeo4j内のすべてのグラフの名前を取得するコマンドはありますか?
- 30. Chromeのabout:flagsページの設定を取得して設定する方法はありますか?
spring-bootのアクチュエータ機能はこれらをエンドポイントの1つとして公開するため、ソースを見てどのように動作しているかを見ることができます。 – cjstehno
ありがとう、ありがとう。私は[configpropsエンドポイント](https://github.com/spring-projects/spring-boot/blob/10012cfddc5479ee9a5cbe98bfe4f76483965bd1/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/)を使用しました。 ConfigurationPropertiesReportEndpoint.java)をテストしますが、 '@ConfigurationProperties(prefix = ...)'で設定されたパブリックメンバーに対してのみ機能します。 – Chris
プロパティとSpringの設定メタデータを公開するサードパーティのSpringアクチュエータエンドポイントを試すことができます。オプションのフィルタリング/包含/除外:https://github.com/ethlo/spring-actuator-addons/tree/master/spring-actuator-config –