0

私のプロジェクトには 2 つのプロジェクトが含まれてgenxmlおりframework1framework2. Framework2は の更新バージョンでframework1あり、どちらもクラス を持っていAbstractScreenTest.classます。以下のコードで、どのプロジェクトとやり取りしたいかを指定できますか?

ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(true);
provider.addIncludeFilter(new AssignableTypeFilter(AbstractScreenTest.class));
Set<BeanDefinition> components = provider.findCandidateComponents(candiatePackage);

for (BeanDefinition component : components){
  cls = Class.forName(component.getBeanClassName());
  classList.add(cls.getName().toString());
}
4

1 に答える 1

0

@Deprecated アノテーションを古い (時代遅れの) クラスに追加して、コンポーネントに非推奨のアノテーションが含まれていないことを確認できます。

for (BeanDefinition component : components){

   cls = Class.forName(component.getBeanClassName());

   if (!cls.isAnnotationPresent(Deprecated.class) {
      classList.add(cls.getName().toString());
   }
}

もちろん、これは、クラス リストに追加したい非推奨のクラスが他にないことを前提としています。その場合、古いクラスに刻印する新しい注釈を書くことができますが、古いクラスへの依存を取り除くことが本当に理想的です.

于 2013-04-05T00:18:01.770 に答える