解决 IDEA 创建 Gradle 项目没有src目录问题 in new model named zyt-study   root dir there are  a build.gradle plugins { id 'java'}group 'org.springframework'version '5.3.4-SNAPSHOT'repositories { mavenCentral()}dependencies { compile(project(":spring-context"…
目录 继承层次图概览 ConfigurableApplicationContext分析 AbstractApplicationContext GenericApplicationContext GenericXmlApplicationContext StaticApplicationContext ResourceAdapterApplicationContext GenericGroovyApplicationContext AnnotationConfigApplicationContex…
1. 写在前面 对于做Java开发的同学来说,Spring就像是一条绕不过去的路,但是大多数也只是停留在对Spring的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活及工作中也在不断思考. 为什么要阅读Spring的源码? 不是为了读源码而读源码,Spring有很好的设计思想,值得学习: Spring是当前使用最广泛的一个开发框架,学习其原理可以帮助我们更好的应对工作中出现的各种框架相关的问题: 在开发中越来越多的使用到了各种各样的框架,渐渐的开发人员只会引入j…
上次搭建spring源码的环境还是两年前,依稀记得那时候也是一顿折腾,奈何当时没有记录,导致两年后的今天把坑重踩了一遍,还遇到了新的坑,真是欲哭无泪;为了以后类似的事情不再发生,这次写下这篇博文来必坑; 一.源码下载 github直接搜索即可.地址已拼好并直接定位到我此次用到的5.2版本:https://github.com/spring-projects/spring-framework/tree/5.2.x,为了后续看源码写注释方便,这里直接下载的zip包 二.gradle下载 spring…
idea搭建spring源码阅读环境 安装gradle Github下载Spring源码 新建学习spring源码的项目 idea搭建spring源码阅读环境 安装gradle 在官网中下载gradle二进制文件下载地址…
上篇文章中我们介绍了准备Spring源码阅读环境的两种姿势,接下来,我们就要开始探寻这个著名框架背后的原理.Spring提供的最基本最底层的功能是bean容器,这其实是对IoC思想的应用,在学习Spring容器的实现原理之前,我们有必要先来了解一下什么是IoC,这就是本文的重点. 1. IoC IoC是随着近年来轻量级容器(Lightweight Container)的兴起而逐渐被很多人提起的一个名词,它的全称为Inversion of Control,中文通常译为控制反转.好莱坞原则"Don’…
在上文中我们已经知道了Spring如何从我们给定的位置加载到配置文件,并将文件包装成一个Resource对象.这篇文章我们将要探讨的就是,如何从这个Resouce对象中加载到我们的容器?加载到容器后又是什么样子呢? 大家可以跟着我一步步来,一定要把Spring啃完,加油~ 文章目录 前期准备: 开始解析: 总结: 前期准备: 上篇文章中,我们已经跟踪到了org.springframework.beans.factory.support.AbstractBeanDefinitionReader的l…
前言 有一个Spring源码阅读环境是学习Spring的基础.笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法.读者可根据自己的需要自行选择. 方法一:搭建基础Spring项目 思路就是创建一个最基本的spring项目,通过下载源码,可以实现阅读源码的需求.优点是非常简单快捷,缺点是无法对源码进行注释和二次开发. 1. 在IDEA中创建一个maven项目 这里我们利用模板创建一个web项目 按照提示填写相关信息,然后一直next即可. 2. 创建包目录结构…
我们到底能走多远系列(33) 扯淡: 各位:    命运就算颠沛流离   命运就算曲折离奇   命运就算恐吓着你做人没趣味   别流泪 心酸 更不应舍弃   ... 主题: Spring源码阅读还在继续,上篇文章初始化IoC容器:摸我 事实上前面的IOC容器初始化只是建立了BeanDefinition数据映射,而依赖注入的过程是在向Ioc容器索要bean的时候发生的. getBean就是触发依赖注入的地方. 1,下面是AbstractBeanFactory的getBean实现.根据scop进行分…
初始化IoC容器(Spring源码阅读) 我们到底能走多远系列(31) 扯淡: 有个问题一直想问:各位你们的工资剩下来会怎么处理?已婚的,我知道工资永远都是不够的.未婚的你们,你们是怎么分配工资的? 毕竟,对自己的收入的分配差不多体现了自己的现状,以及自己对自己未来有什么样的期许~ 主题: 本人在阅读源码基本参考了<Spring技术内幕:深入解析 Spring架构与设计原理>,很不错的书籍,建议大家阅读. 初始化IoC容器:1,resource定位 2,BeanDefinition载入 3,把…