7
@ComponentScanから@Componentを除外する
@ComponentScan特定のから除外したいコンポーネントがあります@Configuration: @Component("foo") class Foo { ... } そうでなければ、それは私のプロジェクトの他のクラスと衝突するようです。衝突についてはよくわかりませんが、@Component注釈をコメントアウトすると、思い通りに動作します。ただし、このライブラリに依存する他のプロジェクトでは、このクラスがSpringによって管理されることを想定しているため、自分のプロジェクトでのみスキップしたいと思います。 私は使ってみました@ComponentScan.Filter: @Configuration @EnableSpringConfigured @ComponentScan(basePackages = {"com.example"}, excludeFilters={ @ComponentScan.Filter(type=FilterType.ASSIGNABLE_TYPE, value=Foo.class)}) public class MySpringConfiguration {} しかし、それは機能していないようです。を使用しようとするとFilterType.ASSIGNABLE_TYPE、一見ランダムに見えるクラスを読み込めないという奇妙なエラーが発生します。 原因:java.io.FileNotFoundException:クラスパスリソース[junit / framework / TestCase.class]が存在しないため、開くことができません 私もtype=FilterType.CUSTOM次のように使用してみました: class ExcludeFooFilter implements TypeFilter { @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { return metadataReader.getClass() == Foo.class; } } @Configuration …