摘要: SpringMVC除了对请求URL的路由处理特别方便外,还支持对异常的统一处理机制,可以对业务操作时抛出的异常,unchecked异常以及状态码的异常进行统一处理。SpringMVC既提供简单的配置类,也提供了细粒度的异常控制机制。 SpringMVC中所有的异常处理通过接口HandlerExcep阅读全文
posted @ 2019-07-18 10:56 chen_hao 阅读(240) 评论(0) 编辑
摘要: 概述 在SpringMVC的使用时,往往会用到@RequestBody和@ResponseBody两个注解,尤其是处理ajax请求必然要使用@ResponseBody注解。这两个注解对应着Controller方法的参数解析和返回值处理,开始时都是只知其用,不知原理。我们来看个例子。 第一个reque阅读全文
posted @ 2019-07-17 14:56 chen_hao 阅读(290) 评论(1) 编辑
摘要: 前端控制器 前端控制器,即所谓的Front Controller,体现的是设计模式中的前端控制器模式。前端控制器处理所有从用户过来的请求。所有用户的请求都要通过前端控制器。SpringMVC框架和其他请求驱动的表示层框架一样,也是围绕一个将请求分发到相应控制器的核心Servlet来设计的。Dispa阅读全文
posted @ 2019-07-16 11:10 chen_hao 阅读(274) 评论(1) 编辑
摘要: SpringMVC作为MVC框架近年来被广泛地使用,其与Mybatis和Spring的组合,也成为许多公司开发web的套装。SpringMVC继承了Spring的优点,对业务代码的非侵入性,配置的便捷和灵活,再加上注解方式的简便与流行,SpringMVC自然成为web开发中MVC框架的首选。 Spr阅读全文
posted @ 2019-07-15 14:31 chen_hao 阅读(263) 评论(1) 编辑
摘要: 一个 bean 经历了 createBeanInstance() 被创建出来,然后又经过一番属性注入,依赖处理,历经千辛万苦,千锤百炼,终于有点儿 bean 实例的样子,能堪大任了,只需要经历最后一步就破茧成蝶了。这最后一步就是初始化,也就是 initializeBean(),所以这篇文章我们分析 阅读全文
posted @ 2019-07-11 10:40 chen_hao 阅读(147) 评论(0) 编辑
摘要: 什么是循环依赖 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图所示: 注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。 Spring中循环依赖场景有: (1)构造器阅读全文
posted @ 2019-07-10 10:25 chen_hao 阅读(194) 评论(0) 编辑
摘要: doCreateBean() 主要用于完成 bean 的创建和初始化工作,我们可以将其分为四个过程: createBeanInstance() 实例化 bean populateBean() 属性填充 循环依赖的处理 initializeBean() 初始化 bean 第一个过程实例化 bean在前阅读全文
posted @ 2019-07-09 10:51 chen_hao 阅读(154) 评论(1) 编辑
摘要: 在 Spring 中存在着不同的 scope,默认是 singleton ,还有 prototype、request 等等其他的 scope,他们的初始化步骤是怎样的呢?这个答案在这篇博客中给出。 singleton Spring 的 scope 默认为 singleton,第一部分分析了从缓存中获阅读全文
posted @ 2019-07-08 11:12 chen_hao 阅读(142) 评论(0) 编辑
摘要: 概述 前面我们已经分析了spring对于xml配置文件的解析,将分析的信息组装成 BeanDefinition,并将其保存注册到相应的 BeanDefinitionRegistry 中。至此,Spring IOC 的初始化工作完成。接下来我们将对bean的加载进行探索。 之前系列文章: spring阅读全文
posted @ 2019-07-05 18:32 chen_hao 阅读(148) 评论(0) 编辑
摘要: 概述 之前我们已经介绍了spring中默认标签的解析,解析来我们将分析自定义标签的解析,我们先回顾下自定义标签解析所使用的方法,如下图所示: 我们看到自定义标签的解析是通过BeanDefinitionParserDelegate.parseCustomElement(ele)进行的,解析来我们进行详阅读全文
posted @ 2019-07-05 10:16 chen_hao 阅读(214) 评论(1) 编辑