Skip to content

Instantly share code, notes, and snippets.

@eugener
Created October 16, 2010 02:23
Show Gist options
  • Save eugener/629313 to your computer and use it in GitHub Desktop.
Save eugener/629313 to your computer and use it in GitHub Desktop.
public class ComponentClassScanner extends ClassPathScanningCandidateComponentProvider {
public ComponentClassScanner() {
super(false);
}
@SuppressWarnings("unchecked")
public final Collection getComponentClasses(String basePackage) {
basePackage = basePackage == null ? "" : basePackage;
List<Class<? extends T>> classes = new ArrayList<Class<? extends T>>();
for (BeanDefinition candidate : findCandidateComponents(basePackage)) {
try {
Class cls = ClassUtils.resolveClassName(candidate.getBeanClassName(),
ClassUtils.getDefaultClassLoader());
classes.add((Class) cls);
} catch (Throwable ex) {
ex.printStackTrace();
}
}
return classes;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment