[解決済み】実行時にJavaアノテーションをスキャンする
2022-03-31 17:43:52
質問
アノテーションされたクラスをクラスパス全体から検索するにはどうすればよいですか?
私はライブラリーを作っていて、ユーザーがクラスにアノテーションを付けられるようにしたいのですが、ウェブアプリケーションの起動時に、特定のアノテーションについてクラスパス全体をスキャンする必要があります。
Java EE 5のWebサービスやEJBの新機能のようなものを考えています。クラスには、次のようなアノテーションを付けます。
@WebService
または
@EJB
で、システムはロード中にこれらのクラスを見つけ、リモートでアクセスできるようにします。
解決方法は?
使用方法 org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
API
ベースパッケージからクラスパスをスキャンするコンポーネントプロバイダ。そして、候補を見つけるために、結果のクラスに除外と包含のフィルタを適用します。
ClassPathScanningCandidateComponentProvider scanner =
new ClassPathScanningCandidateComponentProvider(<DO_YOU_WANT_TO_USE_DEFALT_FILTER>);
scanner.addIncludeFilter(new AnnotationTypeFilter(<TYPE_YOUR_ANNOTATION_HERE>.class));
for (BeanDefinition bd : scanner.findCandidateComponents(<TYPE_YOUR_BASE_PACKAGE_HERE>))
System.out.println(bd.getBeanClassName());
関連
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] ファイルを作成せずに、ファイルが存在するかどうかをチェックする
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] 文字列の巻き方