問題タブ [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.
spring - 春のMVCで
component-scan を spring-common.xml に入れても、Spring MVC がコントローラーを見つけられないのはなぜですか?しかし、component-scan を springMVC-servlet.xml に入れれば、機能します。
web.xml
springMVC-servlet.xml
spring-common.xml
java - ComponentScan を使用せずに Spring Boot Web アプリケーションを起動するにはどうすればよいですか
モジュール テストと一般的な Web アプリの起動時間を短縮するために、コンポーネント スキャンを回避しようとしています。
に置き換える@SpringBootApplication
と@SpringBootConfiguration @EnableAutoConfiguration
、次のエラーが表示されます。
EmbeddedServletContainerFactory Bean が見つからないため、EmbeddedWebApplicationContext を開始できません
どうにかして手動でインポートできますEmbeddedServletContainerFactory
か?
java - @ComponentScan を動的に設定するには?
上記は私SpringBootApplication
のメインクラスです。ご覧のとおり、xml ではなく Annnotation を使用する必要があります。Annotationsは 2 つあります@ComponentScan
。もちろん、Spring では許可されていません。私にとって、この 2 つの違い@ComponentScan
は、アプリケーションを起動する 2 つの異なる方法を意味します。また、CS1 (@ComponentScan1 を意味します) を使用することを選択した場合は、CS2 にコメントする必要があり、その逆も同様です。
エレガントでも優雅でもありません。特に春の初心者向けです。したがって、.properties ファイルに従って動的に構成する方法を知りたいのですが、「isScanA」と呼ばれる .properties ファイルのパラメーターなど、CS1 を使用できます。または他のエレガントな方法。
私はたくさん試しました。
プレースホルダーを使用します。必要に応じて.properties
@ComponentScan(basePackage="${scan.basePackage}")
ファイルの値を変更します。しかし、この方法では修正できませんexcludeFilters
。FilterType.ASSIGNABLE_TYPE
除外する必要があるクラスを割り当てるために使用する場合、使用する場合は ,where ではなく型にするvalue
必要があるためです。Class
String
value = {"${scan.excludeClass}"}
プログラマティックな方法。
/li>
メイン関数でこのメソッドを呼び出しましたが、excludeFilters
問題を解決することもできません。理由は次のとおりです: Doing context:component-scan programatic way?
...
私は本当にたくさん試しましたが、まだ修正できません。だから私はあなたの助けが必要です。
私の下手な英語を許してください。
どうもありがとう、少なくともあなたは読むのに少し時間がかかりました.
java - XML からの Bean のロード (プログラムによる方法) が機能しない
XmlBeanDefinitionReader の loadBeanDefinitions メソッドを使用して Bean をロードした後、xml に記載されているすべての Bean が作成されるため、Spring xml の自動スキャン機能は機能しませんが、@Component によって自動検出するようにマークされた Bean は作成されません。Xsd 検証が機能しないのはなぜですか?
私が書いているコードは
助けてください、事前に感謝します。
spring-boot - Spring Boot: ライブラリ プロジェクトからの自動配線 Bean
GradleでインポートされたカスタムライブラリからBeanを自動配線するのに苦労しています。同様のトピックをいくつか読んだ後でも、解決策を見つけることができません。
別のプロジェクト (コンポーネント、リポジトリなどを含むカスタム ライブラリ) に依存する Spring Boot プロジェクトがあります。このライブラリは、Spring 非実行可能 jar であり、主にドメイン エンティティとリポジトリで構成されています。実行可能な Application.class とプロパティはありません...
アプリケーションを起動すると、(ライブラリからの) 「CustomUserService」Bean が初期化されようとしていることがわかりますが、その中で自動配線された Bean のロードに失敗しました (インターフェース UserRepository)...
エラー:
com.myProject.customLibrary.configuration.CustomUserDetailsService のコンストラクターのパラメーター 0 には、見つからないタイプ 'com.myProject.customLibrary.configuration.UserRepository' の Bean が必要でした。
「注文」を設定して明示的にロードし(を使用scanBasePackageClasses
)、パッケージとマーカークラスでスキャンし、追加のEnableJPARepository
注釈を追加しようとしましたが、何も機能しません...
コード例 (わかりやすくするためにパッケージ名は変更されています)
ライブラリのクラス:
java - 2 つのパッケージからの @ComponentScan
メインのスプリング ブート プロジェクトと、@Contollers、@Services などを含む 2 番目のスプリング プロジェクトの 2 つのプロジェクトがあります。
メインプロジェクトでこのサービスのいくつかを使用しようとしています。here、here、here 、および他の多くのような同様の質問を見ましたが、うまくいきません
1)私がちょうど持っている場合
2番目のプロジェクトからサービスが見つからないため、コンパイルされません
2) 2 番目のパッケージをスキャンしようとすると
その後、アプリケーションはエラーなしで起動しますが、コントローラーのマッピングはまったく機能しません。両方のプロジェクトからのマッピングを解決できません。
3)次に、2番目のパッケージからコントローラーを除外しようとしましたが、コントローラーは必要ないため、マッピングはまだ機能しません
4)次に、特定のサービスをスキャンしようとしましたが、この場合、他のリソースが利用できず、多くのパスを含める必要があります
5) 最後に、2 つの構成ファイルを作成しようとしました
しかし、SpringApplication.run(App.class, args); の前にコンテキストを準備する方法の例が見つかりませんでした。そして、私のコンテキストでアプリを実行します。お気に入り
では、なぜマッピングが機能しないのか、または 2 番目のプロジェクトから自動配線サービスを適切に行うにはどうすればよいのか、アドバイスをください!
どんな助けにも感謝します!ありがとう!