标签:component ccf scan xml文件 conf 方法 AC str loader
DispatcherServlet 就是一个 Servlet,那Servlet 的初始化方法 init()在哪里,通过类图可知,可以查看 HttpServletBean 中的 init() 方法,进行 Servlet初始化.
经过一些xml和spring 初始化配置加载后,进入AbstractApplicationContext#refresh()方法
ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();
默认标签:import标签、alias 标签、bean 标签 、beans 标签
自定义标签:spring mvc 自定义的标签和自己扩展的标签等
BeanDefinition 说明
查看 spring.handlers 配置文件 可以看到每个命名空间的 uri 对应一个类。
例如 xmlns:context 对应的 uri http://www.springframework.org/schema/context 对应 ContextNamespaceHandler 类 每一个命名空间都有对应的解析类 NamespaceHandler ,每一个 命名空间解析类中都有所对应的 命名空间的元素解析器.
http\://www.springframework.org/schema/context=org.springframework.context.config.ContextNamespaceHandler
例如:
context找uri,beans标签中有content对应的uri。
spring.handlers里面就有uri对应的处理类,实现NamespaceHandler接口,就会把这个命名空间对应的标签对应的处理注册进来。
所有生成的beanDifinition对象都会注册缓存到beanDefinitionMap中key就是beanName,value 就是beanDefinition , 然后会把beanName放到List里面去,beanDifinitionNames 就是这个list
标签:component ccf scan xml文件 conf 方法 AC str loader
原文地址:https://www.cnblogs.com/zhangjianbin/p/9085388.html