0

我的项目中包含两个项目genxmlframework1并且framework2. 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 回答