新的一年 只争朝夕 不负韶华 加油加油🦆 (一)自定义便签使用 步骤:(前提要将Spring Core包加入项目中) (1)创建需要扩展的组件 (2)定义一个XSD文件描述组件内容 (3)创建一个文件,实现BeanDefinitionParse接口,用来解析XSD文件中的定义和组件定义 (4)创建 ...
分类:
编程语言 时间:
2020-01-07 01:07:54
阅读次数:
124
加油加油 🦆 bean加载的大致过程 FactoryBean的使用 (一)获取对应的beanName 1 protected String transformedBeanName(String name) { 2 return canonicalName(BeanFactoryUtils.tran ...
分类:
编程语言 时间:
2020-01-07 00:56:45
阅读次数:
70
默认标签的解析分为四种:import,alias,bean,beans,在下面函数中进行 1 private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { 2 if (delegate.n ...
分类:
编程语言 时间:
2020-01-03 01:00:15
阅读次数:
93
本文记录springframework源码构建的基本流程,环境是基于JDK 1.8.0(好像1.8以下会比较麻烦)IDE是Idea 2019 2.2(最好是2019版的2.x) 配置gradle环境 1、下载gradle https://www.jianshu.com/p/d9329117aa2f ...
分类:
编程语言 时间:
2019-12-31 12:20:05
阅读次数:
247
一、前言 最近一段时间撸了Spring IOC、AOP、Transactional源码,这篇文章聊聊我写了哪些小玩意,这可能就是阅读源码以后最大收获。希望大家在里面能学习一些什么东西吧; 二、Spring IOC简单实现 第一步首先看一下配置文件,配置文件模拟Spring Bean注入时候的样子,少 ...
分类:
编程语言 时间:
2019-12-30 09:25:47
阅读次数:
79
众所周知,单例模式分为饿汉式和懒汉式,昨天在看了《spring5核心原理与30个类手写实战》之后才知道饿汉式有很多种写法,分别适用于不同场景,避免反射,线程不安全问题。下面就各种场景、采用的方式及其优缺点介绍。 饿汉式 (绝对的线程安全) 代码示例 1.第一种写法 ( 定义即初始化) 2. 第二种写 ...
分类:
编程语言 时间:
2019-12-16 19:08:43
阅读次数:
106
1、官方参考 spring-framework的github链接:https://github.com/spring-projects/spring-framework 源码环境搭建官方参考1:考如何构建源码,Build from Source:https://github.com/spring-p ...
分类:
编程语言 时间:
2019-12-10 01:08:12
阅读次数:
130
spring源码版本5.0.5 概述 该方法会实例化所有剩余的非懒加载单例 bean。除了一些内部的 bean、实现了 BeanFactoryPostProcessor 接口的 bean、实现了 BeanPostProcessor 接口的 bean,其他的非懒加载单例 bean 都会在这个方法中被实 ...
分类:
编程语言 时间:
2019-12-02 19:34:31
阅读次数:
121
IoC "Ioc" 是一款 spring ioc 核心功能简化实现版本,便于学习和理解原理。 创作目的 使用 spring 很长时间,对于 spring 使用非常频繁,实际上对于源码一直没有静下心来学习过。 但是 spring 源码存在一个问题,那就是过于抽象,导致学习起来成本上升。 所以本项目由渐 ...
分类:
编程语言 时间:
2019-12-01 21:07:46
阅读次数:
87
spring源码版本5.0.5 Spring容器创建之后,会调用它的refresh方法刷新Spring应用的上下文。 首先整体查看AbstractApplicationContext#refresh源码 prepareRefresh方法 表示在真正做refresh操作之前需要准备做的事情: 设置Sp ...
分类:
编程语言 时间:
2019-11-27 23:13:16
阅读次数:
114