public static Map<String, CommandHandler> buildCommandHandlersRegistry(final String basePackage,
final ApplicationContext context) {
final Map<String, CommandHandler> registry = new HashMap<>();
final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
final AutowireCapableBeanFactory beanFactory = context.getAutowireCapableBeanFactory();
scanner.addIncludeFilter(new AssignableTypeFilter(CommandHandler.class));
CommandHandler currentHandler = null;
for (BeanDefinition bean : scanner.findCandidateComponents(basePackage)) {
currentHandler = (CommandHandler) beanFactory.createBean(ClassUtils.resolveClassName(bean.getBeanClassName(), context.getClassLoader()),
AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
registry.put(currentHandler.getInterest().getName(), currentHandler);
}
return registry;
}
CommandHandlerUtils.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:acme-solution
作者:
评论列表
文章目录