問題タブ [component-scan]

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 投票する
1 に答える
908 参照

spring - 春のMVCで

component-scan を spring-common.xml に入れても、Spring MVC がコントローラーを見つけられないのはなぜですか?しかし、component-scan を springMVC-servlet.xml に入れれば、機能します。

web.xml

springMVC-servlet.xml

spring-common.xml

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

java - ComponentScan を使用せずに Spring Boot Web アプリケーションを起動するにはどうすればよいですか

モジュール テストと一般的な Web アプリの起動時間を短縮するために、コンポーネント スキャンを回避しようとしています。

に置き換える@SpringBootApplication@SpringBootConfiguration @EnableAutoConfiguration、次のエラーが表示されます。

EmbeddedServletContainerFactory Bean が見つからないため、EmbeddedWebApplicationContext を開始できません

どうにかして手動でインポートできますEmbeddedServletContainerFactoryか?

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

java - @ComponentScan を動的に設定するには?

上記は私SpringBootApplicationのメインクラスです。ご覧のとおり、xml ではなく Annnotation を使用する必要があります。Annotationsは 2 つあります@ComponentScan。もちろん、Spring では許可されていません。私にとって、この 2 つの違い@ComponentScanは、アプリケーションを起動する 2 つの異なる方法を意味します。また、CS1 (@ComponentScan1 を意味します) を使用することを選択した場合は、CS2 にコメントする必要があり、その逆も同様です。

エレガントでも優雅でもありません。特に春の初心者向けです。したがって、.properties ファイルに従って動的に構成する方法を知りたいのですが、「isScanA」と呼ばれる .properties ファイルのパラメーターなど、CS1 を使用できます。または他のエレガントな方法。

私はたくさん試しました。

  1. プレースホルダーを使用します。必要に応じて.properties@ComponentScan(basePackage="${scan.basePackage}")ファイルの値を変更します。しかし、この方法では修正できませんexcludeFiltersFilterType.ASSIGNABLE_TYPE除外する必要があるクラスを割り当てるために使用する場合、使用する場合は ,where ではなく型にするvalue必要があるためです。ClassStringvalue = {"${scan.excludeClass}"}

  2. プログラマティックな方法。

    /li>

メイン関数でこのメソッドを呼び出しましたが、excludeFilters問題を解決することもできません。理由は次のとおりです: Doing context:component-scan programatic way?

...

私は本当にたくさん試しましたが、まだ修正できません。だから私はあなたの助けが必要です。

私の下手な英語を許してください。

どうもありがとう、少なくともあなたは読むのに少し時間がかかりました.

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

java - XML からの Bean のロード (プログラムによる方法) が機能しない

XmlBeanDefinitionReader の loadBeanDefinitions メソッドを使用して Bean をロードした後、xml に記載されているすべての Bean が作成されるため、Spring xml の自動スキャン機能は機能しませんが、@Component によって自動検出するようにマークされた Bean は作成されません。Xsd 検証が機能しないのはなぜですか?

私が書いているコードは

助けてください、事前に感謝します。

0 投票する
3 に答える
23196 参照

spring-boot - Spring Boot: ライブラリ プロジェクトからの自動配線 Bean

GradleでインポートされたカスタムライブラリからBeanを自動配線するのに苦労しています。同様のトピックをいくつか読んだ後でも、解決策を見つけることができません。

別のプロジェクト (コンポーネント、リポジトリなどを含むカスタム ライブラリ) に依存する Spring Boot プロジェクトがあります。このライブラリは、Spring 非実行可能 jar であり、主にドメイン エンティティとリポジトリで構成されています。実行可能な Application.class とプロパティはありません...

アプリケーションを起動すると、(ライブラリからの) 「CustomUserService」Bean が初期化されようとしていることがわかりますが、その中で自動配線された Bean のロードに失敗しました (インターフェース UserRepository)...

エラー:

com.myProject.customLibrary.configuration.CustomUserDetailsS​​ervice のコンストラクターのパラメーター 0 には、見つからないタイプ 'com.myProject.customLibrary.configuration.UserRepository' の Bean が必要でした。

「注文」を設定して明示的にロードし(を使用scanBasePackageClasses)、パッケージとマーカークラスでスキャンし、追加のEnableJPARepository注釈を追加しようとしましたが、何も機能しません...

コード例 (わかりやすくするためにパッケージ名は変更されています)

ライブラリのクラス:

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

java - 2 つのパッケージからの @ComponentScan

メインのスプリング ブート プロジェクトと、@Contollers、@Services などを含む 2 番目のスプリング プロジェクトの 2 つのプロジェクトがあります。

メインプロジェクトでこのサービスのいくつかを使用しようとしています。hereherehere 、および他の多くのような同様の質問を見ましたが、うまくいきません

1)私がちょうど持っている場合

2番目のプロジェクトからサービスが見つからないため、コンパイルされません

2) 2 番目のパッケージをスキャンしようとすると

その後、アプリケーションはエラーなしで起動しますが、コントローラーのマッピングはまったく機能しません。両方のプロジェクトからのマッピングを解決できません。

3)次に、2番目のパッケージからコントローラーを除外しようとしましたが、コントローラーは必要ないため、マッピングはまだ機能しません

4)次に、特定のサービスをスキャンしようとしましたが、この場合、他のリソースが利用できず、多くのパスを含める必要があります

5) 最後に、2 つの構成ファイルを作成しようとしました

しかし、SpringApplication.run(App.class, args); の前にコンテキストを準備する方法の例が見つかりませんでした。そして、私のコンテキストでアプリを実行します。お気に入り

では、なぜマッピングが機能しないのか、または 2 番目のプロジェクトから自動配線サービスを適切に行うにはどうすればよいのか、アドバイスをください!

どんな助けにも感謝します!ありがとう!