問題タブ [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 に答える
2315 参照

java - 「cvc-complex-type.2.4.c: 一致するワイルドカードは厳密ですが、要素 'context:component-scan' の宣言が見つかりません。」

spring-servlet.xml で次のエラーが発生します

一致するワイルドカードは厳密ですが、要素「context:component-scan」の宣言が見つかりません。

私の spring-servlet.xml には次のものがあります。

すべての依存関係をダウンロードしました

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

spring - spring component-scan 使用時の Alfresco personService.createPerson エラー

数週間前、私は Alfresco 3.4.14 に基づいて AMP を開発しました。そのモジュールでは、いくつかのカスタマイズされたサービスを作成しました。サービスの 1 つは、新しいユーザーを作成する方法で、ユーザーを管理するために使用されました。

すべてのサービスは、次の alfresco コンテキスト ファイルで定義されています。

すべてが正常に機能していました。ユーザーを作成し、他のカスタマイズされたサービスを実行できました...ここまでは完璧です!!!!!!!! アプリケーションは正常に動作していました。


数日前、コンテキスト内のすべての Bean を定義する代わりに、Spring アノテーションの使用を開始することにしました。

コンテキスト ファイルで、Spring コンポーネント スキャンを使用するには、次のようにします。

すべてのサービスは正常に動作しており、アプリケーションも正常に動作しているように見えました。アノテーションを使用してアプリケーションを切り離すことができたので、私たちは満足していました。

BUTTTTTTTTTTTT、ユーザーを作成しようとしたときに、エクスプローラーまたはアプリケーションを介して同じエラーが発生しました: Failed to create Person due to error: xxxxxxx beforeCreateNode: use PersonService to create person

ここに画像の説明を入力

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

java - @Autowired が resteasy で動作しない

これは以前に尋ねられたことは知っていますが、提供されたすべての回答に対してこのコードをチェックしましたが、何が問題なのかまだわかりません... @Autowired フィールドは単に注入されていません (つまり、null です)。私のセットアップです:

  • トムキャット7
  • レストイージー 3.0.8
  • 春のフレームワーク 4.0.6
  • Java 8

pom.xml (関連する依存関係)

web.xml

アプリケーションコンテキスト.xml

そして最後に私の Java クラス:

クラス自体にも @Component で注釈を付けようとしましたが、役に立ちませんでした。

前もって感謝します!

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

java - component-scan はインターフェイス Bean を検出できませんか?

これは、Spring MVC プロジェクト (3.2.8 RELEASE) の root-context.xml の一部です。

そして、以下のような構造が得られました。

ソース コードに 2 つの注釈を付けました。1 つは@RepositoryDaoImpl クラスにあり、もう1 つは@Serviceサービス インターフェイスにあります。

これを JUnit(4.7) で実行しました。DAOImpl は期待どおりに機能しますが、サービスは機能しません。@Serviceインターフェイスで使用できることはわかっていましたが、どういうわけかこのケースでは使用できません。

エラーメッセージはこちら

私と比較できるように、コンポーネントスキャンxml設定と@Serviceインターフェースの注釈を使用する良いサンプルはありますか?

助けてくれてありがとう:D

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

java - @ComponentScan と @Autowired が特定のパッケージからの挿入に失敗する

SO でこの問題に関する多くの同様の質問を認識していますが、どれも私の問題を解決しませんでした。Spring REST プロジェクトがあり、Spring Tool Suite (STS) 3.5.1 RELEASE を使用しています。

アプリケーション クラス:

リポジトリ クラス:

Service クラス (Autowire はここでactorRepository の注入に失敗します):

RESTサービス(AutowiredはactorServiceの注入に失敗します-ActorServiceがActorRepositoryの注入に失敗したためだと思います):

@ComponentScan がリポジトリパッケージをスキャンしていないために発生していると私が信じる理由は、STS では、Spring クラスの Java アイコンの右上隅に小さな S があるためです。これは、スキャンする必要があるすべてのクラス (リポジトリ パッケージ内のものを除くコンポーネント) に表示されます。リポジトリ クラスを残りのパッケージに移動すると、それらがスキャンされます (理由はわかりません!)。

これは、Spring Boot アプリを使用してプロジェクトを実行しようとしたときに発生する例外の一部です。

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

java - @ComponentScan basePackageClasses の命名規則はありますか?

Spring の @ComponentScan は、タイプ セーフなbasePackageClasses属性を提供します。特に、私が取り組んでいるプロジェクトでパッケージの名前が変更されることは珍しくないため、使用するのに適しているようです。ドキュメントには次のように記載されています。

この属性によって参照される以外の目的を果たさない特別な no-op マーカー クラスまたはインターフェイスを各パッケージに作成することを検討してください。

...しかし、そのようなクラスの名前についてこれ以上のガイダンスはありません。これに関する慣習があるかどうか疑問に思っています。package-info.javaすべてのパッケージに既に存在します (Checkstyle によって強制されます) - これを再利用することをお勧めしますが、残念ながら Java はこの名前のクラスを許可していません。

(そのような標準が存在しない場合は、おそらくPackageInfoBasePackagePackageMarkerまたは同様のことを考えていますが、慣例があればそれに従うことを好みます。)

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

spring - Spring コンポーネント スキャン機能は、Web サイトのセキュリティが侵害されていないことをどのように保証できますか?

以下を含むSpring MVC Webアプリが機能しているとします。

どうやらこのプロジェクトは、Spring フレームワークなどを含むいくつかの 3 番目のオープン ソース ライブラリに依存しているようです。

@Controllerこれらのライブラリのベンダーが、秘密裏に (または誤って) のような注釈付きクラスを含む新しいバージョンの jar をリリースしないようにするにはどうすればよいcom.my_company.my_prj.my_controller_pkg.Format_C_Drive_Controller.javaですか?サーバーの私のCドライブ。

春のコンポーネントをスキャンして、完全に私の制御下にある事前定義されたjarファイルまたはクラスパスディレクトリからのみBeanをロードする方法はありますか?

ありがとう

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

java - xmlでコンポーネントをスキャンせずに春にコントローラを設定する方法は?

spring mvc を使用して、銀行向けの非常に大規模なプロジェクトを設計する必要があります。私はすでに XML 構成を使用することを選択しています。私の懸念は、サーバーの起動時間を制限することです。約 2000 のコントローラがあります。

をスキャンするために、すでにコンポーネント スキャンを使用しています@Controller。うまくいきました。しかし、問題は、XML からコンポーネント スキャンを削除し、XML で手動で Bean 構成を使用してコントローラー Bean を追加すると、IOC コンテナーにコントローラーのインスタンスが作成されないことです。そして、404 not found エラーが表示されます。では、XML でコンポーネントをスキャンせずにコントローラーを構成するにはどうすればよいでしょうか。

以下は私のコードサンプルです。何か助けはありますか?

サーブレット-context.xml

root-context.xml

ContactSetupController.java

ContactSetupDao.java