1.org.springframework.web.context.ContextLoaderListener 一个ServletContextListener,web容器启动监听器 1.1内有成员ContextLoader,当contextInitialized时,调用this.contextLo ...
分类:
编程语言 时间:
2018-03-04 21:18:42
阅读次数:
180
文章内容参考了《Spring源码深度解析》一书。自己照着书中内容做了一遍,不懂的地方以及采坑的地方会在文中记录。 推荐一篇post,关于Spring配置文件的命名空间: https://www.cnblogs.com/gonjan-blog/p/6637106.html 我们暂时只是知道使用Spri ...
分类:
编程语言 时间:
2018-02-20 22:51:51
阅读次数:
248
下篇介绍DispatcherServlet的逻辑处理。 我们知道在HttpServlet类中分别提供了相应的服务方法,它们是doDelete(),doGet(),doOptions(),doPost(),doPut()和doTrace(),它会根据请求的不同形式将程序引导至对应的函数进行处理。这几个 ...
分类:
编程语言 时间:
2018-02-20 15:35:38
阅读次数:
230
我们知道,使用面向对象编程(OOP)有一些弊端,当需要为多个不具有继承关系的对象引入同一个公共行为时,例如日志,安全检测等,我们只有在每个对象里引用公共行为,这样程序中就产生了大量的重复代码,程序就不便于维护了,所以就有了一个对面向对象编程的补充,即面向方面编程(AOP),AOP所关注的方向是横向的 ...
分类:
编程语言 时间:
2018-02-19 22:58:07
阅读次数:
271
Spring框架提供了构建Web应用程序的全功能MVC模块。通过策略接口,Spring框架是高度可配置的,而且支持多种视图技术。Spring MVC分离了控制器,模型对象,分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 Spring的MVC是基于Servlet功能实现的,通过实现Ser ...
分类:
编程语言 时间:
2018-02-19 22:57:48
阅读次数:
272
经过前面几篇的分析,相信大家对Spring中容器功能有了简单的了解,在前面的章节中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析。但是,Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ...
分类:
编程语言 时间:
2018-02-17 13:26:47
阅读次数:
232
前文: 近期,买了一本书《Spring源码深度解析》--郝佳 非常不错的Spring书籍,讲解通俗易懂,而且,例子详细严禁,由浅入深,可以让读者一步步跟着学习,读了前部分后很有收获,推荐给大家,共同学习。 人们常抱怨,没有老师跟着学习,没人教,身边人能力不行,等等。那么,买了本优秀的书籍,就是在跟大 ...
分类:
编程语言 时间:
2018-02-12 16:57:55
阅读次数:
161
一:缓存中获取单例bean 前面已经提到过,单例在Spring的同一个容器内只会被创建一次,后续再获取bean直接从单例缓存中获取,当然这里也只是尝试加载,首先尝试从缓存中加载,然后再次尝试从singletonFactories中加载。因为在创建单例bean的时候会存在依赖注入的情况,而在创建依赖的 ...
分类:
编程语言 时间:
2018-02-12 16:51:47
阅读次数:
595
通过前面的分析,我们结束了对XML配置文件的解析,接下来将进行bean加载的分析。对于加载bean的功能,在Spring中的调用方式为: 或者 MyTestBean tb = bf.getBean("myTestBean", MyTestBean.class); 一:整体分析 (1.1)Abstra ...
分类:
编程语言 时间:
2018-02-12 13:35:57
阅读次数:
177
在之前的代码分析中,Spring标签的解析分为 默认标签和自定义标签两种,前一篇文章分析了Spring中对默认标签的解析过程。 本文将分析Spring中自定义标签的使用过程: 一:回顾 在DefaultBeanDefinitionDocumentReader 类中,分别对默认标签和自定义标签做了不同 ...
分类:
编程语言 时间:
2018-02-11 14:43:37
阅读次数:
200