springMVC--XML解析
一 springMVC 入口
     web.xml;  DispatcherServlet
二  初始化过程
     1.寻找init();
        查看DispatcherServlet时候时,继承自servlet,肯定有初始化方法,DispatcherServlet继承自FrameworkServlet
        FrameworkServlet继承自HttpServletBean
        HttpServletBean继承自HttpServlet,在HttpServlet中寻找到了init()方法
     2.init做了那些事
               HttpServletBean中,init方法中,通过 PropertyValues 包装属性,BeanWrapper 包装bean ,ResourceLoader 加载资源文件,initServletBean执行,但是此方法是空的
        因此需要在子类中查找此方法。
               FrameworkServlet中对initServletBean进行了重写,进入此方法中,首先是打印日志,其次执行initWebApplicationContext方法,进入initWebApplicationContext方法,调用了  configureAndRefreshWebApplicationContext方法,进入configureAndRefreshWebApplicationContext方法,ConfigurableEnvironment类负责配置文件是否起作用,在bean.xml中contex标签中profile ="true";wac.refresh()方法
               AbstractApplicationContext中重写了refresh方法,此方法很重要
                     1.xml解析
                     2.annotation的支持
               AbstractApplicationContext#refresh-->obtainFreshBeanFactory-->refreshBeanFactory
               AbstractRefreshableApplicationContext#refreshBeanFactory-->loadBeanDefinitions(xml annotation)
               AbstractXmlApplicationContext#loadBeanDefinitions-->loadBeanDefinitions-->loadBeanDefinitions
               AbstractBeanDefinitionReader#loadBeanDefinitions-->loadBeanDefinitions
               XmlBeanDefinitionReader#loadBeanDefinitions-->loadBeanDefinitions-->doLoadBeanDefinitions-->registerBeanDefinitions
               DefaultBeanDefinitionDocumentReader#registerBeanDefinitions-->doRegisterBeanDefinitions-->parseBeanDefinitions  此处开始分流  解析xml分默认解析和自定义解析
解析xml   parseDefaultElement  解析默认  import  alias bean beans
                              parseCustomElement   解析自定义标签
自定义解析: parseCustomElement
NamespaceHandler
<context:property-placeholder location="classpath:config.properties" profile="true" />
	                         <!-- 加载数据库配置文件 -->
	                         <!-- 激活Spring注解方式:自动扫描,并注入bean -->
	                         <context:component-scan base-package="com.dongnao" />
<context:annotation-config />
context找uri,beans有content对应的uri
                         spring.handlers里面就有uri对应的处理类,实现NamespaceHandler,会把这个命名空间对应的标签对应的处理注册进来
springMVC--XML解析的更多相关文章
- SpringMVC视图解析器
		SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起 ... 
- SpringMVC视图解析器(转)
		前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被Sprin ... 
- SpringMVC 视图解析器
		SpringMVC 视图解析器 还记得SpringMVC 快速入门中,dispatcher-servlet.xml 配置的视图解析器么.它是SpringMVC 的核心知识点.本章节比较简单,明白视图解 ... 
- 关于springMVC中component-scan的问题以及springmvc.xml整理
		关于springMVC中component-scan的问题以及springmvc.xml整理 一.component-scan问题和解决办法 最近在学习使用springMVC+myba ... 
- springmvc.xml 中 <url-pattern></url-pattern>节点详解
		1. 先来上段常见的代码 <!-- MVC Servlet --> <servlet> <servlet-name>springServlet</servl ... 
- springmvc.xml,context.xml和web.xml
		1:springmvc.xml配置要点 一般它主要配置Controller的组件扫描器和视图解析器 下为:springmvc.xml文件 <?xml version="1.0" ... 
- springmvc访问静态资源的springmvc.xml配置
		一. 问题及需求 由于Spring MVC的web.xml文件中关于DispatcherServlet拦截url的配置为"/",拦截了所有的请求,同时*.js,*.jpg等静态资源 ... 
- springmvc.xml和applicationContext.xml配置的特点
		1:springmvc.xml配置要点 一般它主要配置Controller的组件扫描器和视图解析器 下为:springmvc.xml文件 <?xml version="1.0" ... 
- Spring Boot实践——SpringMVC视图解析
		一.注解说明 在spring-boot+spring mvc 的项目中,有些时候我们需要自己配置一些项目的设置,就会涉及到这三个,那么,他们之间有什么关系呢? 首先,@EnableWebMvc=Web ... 
- SpringMVC-核心配置文件spring-mvc.xml
		@Spring-MVC.xml @MVC的注解驱动 Bean模式 上面源码的配置我们看到了,其中映射器和适配器的注解模式是过时的所以我们需要重新配置一下. <!-- 配置处理器映射器 --> ... 
随机推荐
- Spring注解式事务解析
			#Spring注解式事务解析 增加一个Advisor 首先往Spring容器新增一个Advisor,BeanFactoryTransactionAttributeSourceAdvisor,它包含了T ... 
- 使用kubeadm创建kubernets集群
			参考: http://docs.kubernetes.org.cn/459.html https://blog.csdn.net/gui951753/article/details/833169 ... 
- java代码获取多边形的中心点
			package com.skjd.util; import java.util.ArrayList; import java.util.List; /** * 坐标以及电子围栏相关的工具类 * @au ... 
- (转)urllib库python2和python3具体区别
			转载链接:https://blog.csdn.net/whatday/article/details/54710403 Python 2 name Python 3 name urllib.urlre ... 
- Servlet(六):Cookie
			Cookie 学习:问题: HTTP 协议是没有记忆功能的,一次请求结束后,相关数据会被销毁.如果第二次的请求需要使用相同的请求数据怎么办呢?难道是让用户再次请求书写吗?解决: 使用 Cookie 技 ... 
- redis学习(八)——redis应用场景
			毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ... 
- HttpWebRequest简单使用
			HttpWebRequest简单使用 摘要 HttpWebRequest类对WebRequest中定义的属性和方法提供支持,也对使用户能够直接与使用HTTP的服务器交互的附加属性和方法提供支持. 创 ... 
- CodeForces - 1025C 字符串处理,画一个圆。。。
			题目链接: https://vjudge.net/problem/1810469/origin 题目大意: 给你一个字符串,中间切一刀,左右两边均反转,然后右边的串拼接到左边上. 思路: 比如 aa ... 
- Redhat Linux5.4/5.5/5.8/6.0/6.3 ISO镜像文件下载
			版本有RedHat Enterprise Linux(RHEL)5.4/5.5/5.8/6.0/6.3 ISO镜像文件下载地址: RHEL 5.4 ISO下载http://rhel.ieesee.ne ... 
- GMA Round 1 最短距离
			传送门 最短距离 在椭圆C:$\frac{x^2}{20^2}+\frac{y^2}{18^2}=1$上作两条相互垂直的切线,切线交点为P,求P到椭圆C的最短距离.结果保留6位小数. 设椭圆方程:$\ ... 
