Spring の @ComponentScan は、タイプ セーフなbasePackageClasses
属性を提供します。特に、私が取り組んでいるプロジェクトでパッケージの名前が変更されることは珍しくないため、使用するのに適しているようです。ドキュメントには次のように記載されています。
この属性によって参照される以外の目的を果たさない特別な no-op マーカー クラスまたはインターフェイスを各パッケージに作成することを検討してください。
...しかし、そのようなクラスの名前についてこれ以上のガイダンスはありません。これに関する慣習があるかどうか疑問に思っています。package-info.java
すべてのパッケージに既に存在します (Checkstyle によって強制されます) - これを再利用することをお勧めしますが、残念ながら Java はこの名前のクラスを許可していません。
(そのような標準が存在しない場合は、おそらくPackageInfo
、BasePackage
、PackageMarker
または同様のことを考えていますが、慣例があればそれに従うことを好みます。)