Classpath Scanning in Spring

Published in

Spring è un ottimo Inversion of Control (IoC) container. Ecco come fare ad eseguire uno scanning delle classi al fine di trovare tutte quelle che hanno una certa annotation

String basePackage = "it.lorenzoingrilli.examples";
LinkedList<Class<?>> list = new LinkedList<Class<?>>();       
ClassPathScanningCandidateComponentProvider cp = new ClassPathScanningCandidateComponentProvider(false);
cp.addIncludeFilter(new AnnotationTypeFilter(AnnotationDaCercare.class));
for(BeanDefinition candidate : cp.findCandidateComponents(basePackage)) {
try {
 Class<?> clazz = Class.forName(candidate.getBeanClassName());
 list.add(clazz);
} catch (Throwable ex) {
 ex.printStackTrace();
}
}

alla fine del ciclo nella collection list ci saranno tutte le classi con l'annotation specificata.
 


Home Back To Top