事件系统学习笔记
标签解析
EventBeanDefinitionParaser
为标签解析器对应的类,通过重写EventBeanDefinitionParaser
的parse()
方法对xml标签进行解析。
关键方法registAllReceivers方法:
public void registAllReceivers(Element element, ParserContext parserContext) {
String[] classNames = findalAlllResourceClassNames(element);
for(String className : classNames) {
try {
Class<?> clz = Class.forName();
if(clz.isAnnotationPresent(ReceiverAnno.class)) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder
.rootBeanDefinition(clz);
parserContext.getRegistry().registerBeanDefinition(
StringUtils.uncapitalize(clz.getSimpleName()),
builder.getBeanDefinition()
);
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
}
}