問題タブ [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.
java - スプリング ブート アプリケーションが自動構成クラスに特定のアノテーションを持っているかどうかを確認する方法
プロジェクトでいくつかの一般的な構成を一元化するために、独自のスプリング ブート スターターを作成しています。スプリング ブート アプリに次のような特定の方法で注釈が付けられている場合にのみ、 @Configuration クラスを一致させたいと思います。
@ConditionalOnClass を使用する場合:
アプリがリソース サーバーではない (注釈が存在しない) 場合でも、依存関係が使用されると自動構成が一致しました。
スプリング ブート アプリに特定の注釈が存在する場合にのみ一致する条件はありますか?
java - マルチモジュール springboot プロジェクトで spring アプリケーション コンテキストを取得できません / EntityManagerFactory が見つかりません
マルチモジュールの springboot プロジェクトがあります。アーキテクチャは次のとおりです。
で注釈が付けられたクラス@SpringBootApplication
は、最上位モジュール (webservice) にあります。@SpringBootTest
テストクラスで使用して、このトップモジュールから統合テストを実行すると、正常に動作します。
しかし、今はビジネス モジュールから統合テストを実行したいと考えています。@SpringBootTest
ビジネスモジュールに構成クラスが見つからないため、のみが機能しなくなりました。そこで、ビジネス モジュールに構成クラスを作成しました。
そして、私のテストクラスでは、この構成クラスを次のように指定しました:
そうすることで、Spring がパッケージ com.berthoud.p7 とそのサブフォルダーで宣言されたすべての Bean をコンテキストに追加することを期待していました。実際、テストクラスでSpring Beanを自動配線すると、問題なく見えるようになりました(IntelliJは、@autowired
Beanを自動配線できないことを通知しなくなりました):
それにもかかわらず、テストを実行すると、Spring はアプリケーション コンテキストの読み込みに失敗します。
私はこれを理解していません。関連するBeanを宣言した方法は次のとおりです。
私は何を間違えましたか?
編集:私の設定クラスを次のように変更した後:
私は今、別のエラーがあります:
spring - Spring ブート構成クライアントのプロパティ
上記のコードは、git 構成リポジトリから構成プロパティを取得する Spring クラウド構成クライアント (spring.application.name=foo) です。Foo は foo.properties のプロパティです。ここで、上記のコードの :test パラメータについて少し混乱しています。プロパティを取得する際のこのパラメーターの重要性を知りたかったのです。