spring源码
文章平均质量分 86
Small leaf
一步一脚印
展开
-
Spring源码分析:@EventListener
今天天晴,心情不错,来盘他,分析一个Spring常用的事件技术,从源码的角度,以及Spring编写代码的方式来彻彻底底盘他。先来看注解@EventListener每一次我看到spring的一个注解,我的脑海就立马浮现1.有一个在spring生命周期中对应的类来处理它,如果是字段注解,那么一定是在对象实例化之前初始化它给他赋值,那么这个处理类可能就会实现BeanPostProcessor或者...原创 2020-03-04 10:46:38 · 376 阅读 · 0 评论 -
spring源码:spring生命周期中重要的接口类
spring启动后会有很有接口穿插在spring生命周期当中,熟练的了解这些,对我们读其他框架源码,或者自己写框架集成spring非常有帮助。1.BeanDefinitionRegistryPostProcessor扩展了BeanFactoryPostProcessor ,能够在BeanFactoryPostProcessor 检测之前执行,并且它也是BeanFactoryPostProces...原创 2020-03-03 22:00:10 · 497 阅读 · 0 评论 -
tars源码解析3-springboot启动
从spring xml ,spring JavaConfig,spring boot ,spring cloud。原理从始到终都是没有任何变化的,只要我们掌握了最核心的只不过是表现方式不同了。所以有了技术万变不离其中tars一样的,如果玩转它。从前面两篇,分析而言。要改成springboot的方式,无非就是使用它的方式改变了,核心是不会变的。使用方式有哪几个变化呢?启动方式,sprin...原创 2020-02-09 18:14:35 · 862 阅读 · 0 评论 -
spring设计好美:走入spring请求分发
本编主要是讲解,spring请求这整个过程中,以及有哪些地方可以扩展1.简单聊聊springweb1.1 两个核心的Sevlet Api1.2 消失的web.xml2.请求开始2.1 请求全局变量,RequestContextHolder2.2 监听ServletRequestHandledEvent事件2.3 配置文件请求2.4 请求如何找到对应的执行方法handler2.5 使用Handler...原创 2018-12-11 21:52:46 · 524 阅读 · 0 评论 -
spring设计好美:WebMvcConfigurer
从WebMvcConfigurer了解spring设计的美味说明WebMvcConfigurer是什么WebMvcConfigurer设计中的优点总结说明本篇文章主要是讲WebMvcConfigurer设计的巧妙之处。目的之一:弄清WebMvcConfigurer是什么。目的之二:WebMvcConfigurer设计中的优点WebMvcConfigurer是什么如何使用WebMvcCo...原创 2018-12-11 18:08:13 · 1797 阅读 · 0 评论 -
springboot条件注解源码分析
上篇我们讲到springboot注解之:@EnableAutoConfiguration,主要讲到springboot如何自动加载配置,核心类是ConfigurationClassPostProcessor。在spring容器启动的时候去扫描有@Component的类,然后对扫描到的类进行判断是否有条件注解,有的话判断是否通过能进行类的进一步解析和注册。这里就提到了条件注解,来看看具体使用到的...原创 2018-02-23 19:35:06 · 1249 阅读 · 0 评论 -
springboot源码解析:自己实现一个springboot自动配置
上两篇将到了springboot自动配置和条件注解是如何实现,这篇在前两篇的基础上自己实现一个springboot的自动配置,用到条件注解。需求:加入自己手写的jar。直接就可以使用StringRedisTemplate。1.新建一个maven项目,pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project ...原创 2018-02-26 23:06:56 · 2450 阅读 · 0 评论 -
springboot注解之:@EnableAutoConfiguration
spring注解:@ComponentScan,@Bean,@Import,@Component,这篇文章当中讲到ConfigurationClassPostProcessor是我们实现注解的核心类,改类在spring启动的时候,会去加载该类到spring容器当中,因为该类是BeanDefinitionRegistryPostProcessor的子类,在spring生命周期当中它会去执行其相应的方...原创 2018-02-08 17:58:53 · 11586 阅读 · 2 评论 -
spring注解:@ComponentScan,@Bean,@Import,@Component
我们知道我们要扫描某些包下的注解类,或者某些注解类,可以用@ComponentScan去扫描。我们需要类能被扫描到,可能会用到@Configuration,@Service,@Repository,这三个都使用了@Component注解。实际上扫描的是Component注解。我们也可以用@Bean来定义一个bean,也可以用Import来导入一个bean或者一个资源文件。那么这些注解sprin原创 2017-12-14 18:29:25 · 4987 阅读 · 0 评论 -
spring源码分析:spring生命周期
最近在看springboot自动配置,看到了@Conditional,@ConditionalOnMissingBean等等。这些注解,一直研究他们是如何实现springboot的条件注解的。由他们回到了@Configuration,回到了ConfigurationClassPostProcessor。ConfigurationClassPostProcessor实现了BeanFactoryPost原创 2017-12-13 18:15:27 · 1254 阅读 · 2 评论 -
spring源码分析:spring生命周期二
接着上一篇我们看看具体是哪里的代码执行了。1.初始化BeanFactoryPostProcessorinvokeBeanFactoryPostProcessors(beanFactory);-->PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory, getBeanFactoryPos原创 2017-12-13 19:33:32 · 300 阅读 · 0 评论 -
spring源码分析:resource资源定位一
最近回过头来,再次看spring源码,以前很多次都是随意的一看,但是有了以前的基础现在理解起来容易很多了,于是这次想要分析源码的过程中,想要始终带着几个疑问去看源码1.spring源码这样写的好处? 2.spring源码使用了哪些设计模式? 3.自己该如何利用他的思想运用到自己平时的代码中?自己水平有限,可能出现理解出错的地方,希望看到的朋友指出一下。首先来看几个设计模式的定义:1.策略者模式:原创 2017-11-09 19:11:00 · 1276 阅读 · 0 评论 -
spring源码分析:Aware接口让你的bean对容器直接操作
相信大家都知道很多其他框架,比如mybatis,shiro等等,spring框架本身有些类会实现ApplicationContextAware,BeanFactoryAware或者等等其他XXXAware,这是用来干嘛呢?spring容器来管理bean。如果说bean需要知道容器的状态获取容器的信息直接使用容器那么就需要实现XXXAware来实现了。以下具体讲解spring是如何让bean直接操作s原创 2017-11-07 13:12:51 · 556 阅读 · 0 评论