Skip to content

Commit

Permalink
add Table of Contents
Browse files Browse the repository at this point in the history
  • Loading branch information
qqq19923 committed Feb 18, 2019
1 parent ed4ee98 commit 57cc3aa
Show file tree
Hide file tree
Showing 8 changed files with 500 additions and 0 deletions.
102 changes: 102 additions & 0 deletions note/Spring.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,105 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [基本](#%E5%9F%BA%E6%9C%AC)
- [ClassPathXmlApplicationContext](#classpathxmlapplicationcontext)
- [构造器](#%E6%9E%84%E9%80%A0%E5%99%A8)
- [设置配置文件路径](#%E8%AE%BE%E7%BD%AE%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84)
- [Environment接口](#environment%E6%8E%A5%E5%8F%A3)
- [Profile](#profile)
- [Property](#property)
- [Environment构造器](#environment%E6%9E%84%E9%80%A0%E5%99%A8)
- [PropertySources接口](#propertysources%E6%8E%A5%E5%8F%A3)
- [PropertySource接口](#propertysource%E6%8E%A5%E5%8F%A3)
- [路径Placeholder处理](#%E8%B7%AF%E5%BE%84placeholder%E5%A4%84%E7%90%86)
- [PropertyResolver接口](#propertyresolver%E6%8E%A5%E5%8F%A3)
- [解析](#%E8%A7%A3%E6%9E%90)
- [refresh](#refresh)
- [prepareRefresh](#preparerefresh)
- [属性校验](#%E5%B1%9E%E6%80%A7%E6%A0%A1%E9%AA%8C)
- [BeanFactory创建](#beanfactory%E5%88%9B%E5%BB%BA)
- [BeanFactory接口](#beanfactory%E6%8E%A5%E5%8F%A3)
- [BeanFactory定制](#beanfactory%E5%AE%9A%E5%88%B6)
- [Bean加载](#bean%E5%8A%A0%E8%BD%BD)
- [EntityResolver](#entityresolver)
- [BeanDefinitionReader](#beandefinitionreader)
- [路径解析(Ant)](#%E8%B7%AF%E5%BE%84%E8%A7%A3%E6%9E%90ant)
- [配置文件加载](#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8A%A0%E8%BD%BD)
- [Bean解析](#bean%E8%A7%A3%E6%9E%90)
- [默认命名空间解析](#%E9%BB%98%E8%AE%A4%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E8%A7%A3%E6%9E%90)
- [import](#import)
- [alias](#alias)
- [bean](#bean)
- [id & name处理](#id--name%E5%A4%84%E7%90%86)
- [beanName生成](#beanname%E7%94%9F%E6%88%90)
- [bean解析](#bean%E8%A7%A3%E6%9E%90)
- [Bean装饰](#bean%E8%A3%85%E9%A5%B0)
- [Bean注册](#bean%E6%B3%A8%E5%86%8C)
- [BeanDefiniton数据结构](#beandefiniton%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84)
- [beans](#beans)
- [其它命名空间解析](#%E5%85%B6%E5%AE%83%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E8%A7%A3%E6%9E%90)
- [NamespaceHandler继承体系](#namespacehandler%E7%BB%A7%E6%89%BF%E4%BD%93%E7%B3%BB)
- [init](#init)
- [BeanFactory数据结构](#beanfactory%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84)
- [prepareBeanFactory](#preparebeanfactory)
- [BeanExpressionResolver](#beanexpressionresolver)
- [PropertyEditorRegistrar](#propertyeditorregistrar)
- [环境注入](#%E7%8E%AF%E5%A2%83%E6%B3%A8%E5%85%A5)
- [依赖解析忽略](#%E4%BE%9D%E8%B5%96%E8%A7%A3%E6%9E%90%E5%BF%BD%E7%95%A5)
- [bean伪装](#bean%E4%BC%AA%E8%A3%85)
- [LoadTimeWeaver](#loadtimeweaver)
- [注册环境](#%E6%B3%A8%E5%86%8C%E7%8E%AF%E5%A2%83)
- [postProcessBeanFactory](#postprocessbeanfactory)
- [invokeBeanFactoryPostProcessors](#invokebeanfactorypostprocessors)
- [BeanPostProcessor注册](#beanpostprocessor%E6%B3%A8%E5%86%8C)
- [MessageSource](#messagesource)
- [事件驱动](#%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8)
- [事件](#%E4%BA%8B%E4%BB%B6)
- [发布者](#%E5%8F%91%E5%B8%83%E8%80%85)
- [ApplicationEventPublisher](#applicationeventpublisher)
- [ApplicationEventMulticaster](#applicationeventmulticaster)
- [监听器](#%E7%9B%91%E5%90%AC%E5%99%A8)
- [初始化](#%E5%88%9D%E5%A7%8B%E5%8C%96)
- [事件发布](#%E4%BA%8B%E4%BB%B6%E5%8F%91%E5%B8%83)
- [监听器获取](#%E7%9B%91%E5%90%AC%E5%99%A8%E8%8E%B7%E5%8F%96)
- [同步/异步](#%E5%90%8C%E6%AD%A5%E5%BC%82%E6%AD%A5)
- [全局](#%E5%85%A8%E5%B1%80)
- [注解](#%E6%B3%A8%E8%A7%A3)
- [onRefresh](#onrefresh)
- [ApplicationListener注册](#applicationlistener%E6%B3%A8%E5%86%8C)
- [singleton初始化](#singleton%E5%88%9D%E5%A7%8B%E5%8C%96)
- [ConversionService](#conversionservice)
- [StringValueResolver](#stringvalueresolver)
- [LoadTimeWeaverAware](#loadtimeweaveraware)
- [初始化](#%E5%88%9D%E5%A7%8B%E5%8C%96-1)
- [getBean](#getbean)
- [beanName转化](#beanname%E8%BD%AC%E5%8C%96)
- [手动注册bean检测](#%E6%89%8B%E5%8A%A8%E6%B3%A8%E5%86%8Cbean%E6%A3%80%E6%B5%8B)
- [检查父容器](#%E6%A3%80%E6%9F%A5%E7%88%B6%E5%AE%B9%E5%99%A8)
- [依赖初始化](#%E4%BE%9D%E8%B5%96%E5%88%9D%E5%A7%8B%E5%8C%96)
- [Singleton初始化](#singleton%E5%88%9D%E5%A7%8B%E5%8C%96)
- [getSingleton方法](#getsingleton%E6%96%B9%E6%B3%95)
- [是否存在](#%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8)
- [bean创建](#bean%E5%88%9B%E5%BB%BA)
- [lookup-method检测](#lookup-method%E6%A3%80%E6%B5%8B)
- [InstantiationAwareBeanPostProcessor触发](#instantiationawarebeanpostprocessor%E8%A7%A6%E5%8F%91)
- [doCreateBean](#docreatebean)
- [创建(createBeanInstance)](#%E5%88%9B%E5%BB%BAcreatebeaninstance)
- [MergedBeanDefinitionPostProcessor](#mergedbeandefinitionpostprocessor)
- [属性解析](#%E5%B1%9E%E6%80%A7%E8%A7%A3%E6%9E%90)
- [属性设置](#%E5%B1%9E%E6%80%A7%E8%AE%BE%E7%BD%AE)
- [初始化](#%E5%88%9D%E5%A7%8B%E5%8C%96-2)
- [getObjectForBeanInstance](#getobjectforbeaninstance)
- [Prototype初始化](#prototype%E5%88%9D%E5%A7%8B%E5%8C%96)
- [beforePrototypeCreation](#beforeprototypecreation)
- [createBean](#createbean)
- [afterPrototypeCreation](#afterprototypecreation)
- [总结](#%E6%80%BB%E7%BB%93)
- [其它Scope初始化](#%E5%85%B6%E5%AE%83scope%E5%88%9D%E5%A7%8B%E5%8C%96)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# 基本

本部分从最基本的Spring开始。配置文件:
Expand Down
34 changes: 34 additions & 0 deletions note/guava-cache.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [创建](#%E5%88%9B%E5%BB%BA)
- [数据结构](#%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84)
- [segments](#segments)
- [ReferenceEntry](#referenceentry)
- [初始化](#%E5%88%9D%E5%A7%8B%E5%8C%96)
- [ReferenceEntry数组](#referenceentry%E6%95%B0%E7%BB%84)
- [引用队列](#%E5%BC%95%E7%94%A8%E9%98%9F%E5%88%97)
- [put](#put)
- [Hash算法](#hash%E7%AE%97%E6%B3%95)
- [ReHash](#rehash)
- [Segment选取](#segment%E9%80%89%E5%8F%96)
- [Segment.put](#segmentput)
- [线程安全性](#%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E6%80%A7)
- [过期/垃圾缓存清理](#%E8%BF%87%E6%9C%9F%E5%9E%83%E5%9C%BE%E7%BC%93%E5%AD%98%E6%B8%85%E7%90%86)
- [垃圾缓存](#%E5%9E%83%E5%9C%BE%E7%BC%93%E5%AD%98)
- [善后](#%E5%96%84%E5%90%8E)
- [writeQueue移除](#writequeue%E7%A7%BB%E9%99%A4)
- [accessQueue移除](#accessqueue%E7%A7%BB%E9%99%A4)
- [加载终止](#%E5%8A%A0%E8%BD%BD%E7%BB%88%E6%AD%A2)
- [移除算法](#%E7%A7%BB%E9%99%A4%E7%AE%97%E6%B3%95)
- [过期缓存](#%E8%BF%87%E6%9C%9F%E7%BC%93%E5%AD%98)
- [扩容](#%E6%89%A9%E5%AE%B9)
- [设值](#%E8%AE%BE%E5%80%BC)
- [get(key)](#getkey)
- [get(key,hash,loader)](#getkeyhashloader)
- [参考](#%E5%8F%82%E8%80%83)
- [总结](#%E6%80%BB%E7%BB%93)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# 创建

以CacheLoader的方式为例:
Expand Down
77 changes: 77 additions & 0 deletions note/spring-aop.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,80 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [开头](#%E5%BC%80%E5%A4%B4)
- [aop:config](#aopconfig)
- [解析](#%E8%A7%A3%E6%9E%90)
- [proxy-target-class & expose-proxy](#proxy-target-class--expose-proxy)
- [aop:pointcut](#aoppointcut)
- [aop:advisor](#aopadvisor)
- [aop:aspect](#aopaspect)
- [aop:declare-parents](#aopdeclare-parents)
- [其它](#%E5%85%B6%E5%AE%83)
- [MethodLocatingFactoryBean](#methodlocatingfactorybean)
- [SimpleBeanFactoryAwareAspectInstanceFactory](#simplebeanfactoryawareaspectinstancefactory)
- [总结](#%E6%80%BB%E7%BB%93)
- [代理子类生成](#%E4%BB%A3%E7%90%86%E5%AD%90%E7%B1%BB%E7%94%9F%E6%88%90)
- [入口](#%E5%85%A5%E5%8F%A3)
- [postProcessBeforeInstantiation](#postprocessbeforeinstantiation)
- [调用时机](#%E8%B0%83%E7%94%A8%E6%97%B6%E6%9C%BA)
- [源码](#%E6%BA%90%E7%A0%81)
- [应该代理 ?](#%E5%BA%94%E8%AF%A5%E4%BB%A3%E7%90%86-)
- [基础类检测](#%E5%9F%BA%E7%A1%80%E7%B1%BB%E6%A3%80%E6%B5%8B)
- [跳过类检测](#%E8%B7%B3%E8%BF%87%E7%B1%BB%E6%A3%80%E6%B5%8B)
- [AOP逻辑](#aop%E9%80%BB%E8%BE%91)
- [Advisor寻找](#advisor%E5%AF%BB%E6%89%BE)
- [适用性检测](#%E9%80%82%E7%94%A8%E6%80%A7%E6%A3%80%E6%B5%8B)
- [检测结果缓存](#%E6%A3%80%E6%B5%8B%E7%BB%93%E6%9E%9C%E7%BC%93%E5%AD%98)
- [TargetSource](#targetsource)
- [postProcessAfterInitialization](#postprocessafterinitialization)
- [Advisor寻找](#advisor%E5%AF%BB%E6%89%BE-1)
- [适用性判断](#%E9%80%82%E7%94%A8%E6%80%A7%E5%88%A4%E6%96%AD)
- [引入](#%E5%BC%95%E5%85%A5)
- [其它](#%E5%85%B6%E5%AE%83-1)
- [Advisor扩展](#advisor%E6%89%A9%E5%B1%95)
- [排序](#%E6%8E%92%E5%BA%8F)
- [创建](#%E5%88%9B%E5%BB%BA)
- [JDK动态代理 or Cglib](#jdk%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86-or-cglib)
- [JDK动态代理](#jdk%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86)
- [equals & hashCode](#equals--hashcode)
- [链式调用](#%E9%93%BE%E5%BC%8F%E8%B0%83%E7%94%A8)
- [Cglib](#cglib)
- [aop:scoped-proxy](#aopscoped-proxy)
- [解析](#%E8%A7%A3%E6%9E%90-1)
- [入口](#%E5%85%A5%E5%8F%A3-1)
- [装饰](#%E8%A3%85%E9%A5%B0)
- [代理生成](#%E4%BB%A3%E7%90%86%E7%94%9F%E6%88%90)
- [Advisor](#advisor)
- [引入](#%E5%BC%95%E5%85%A5-1)
- [例子](#%E4%BE%8B%E5%AD%90)
- [自定义Scope](#%E8%87%AA%E5%AE%9A%E4%B9%89scope)
- [配置](#%E9%85%8D%E7%BD%AE)
- [测试](#%E6%B5%8B%E8%AF%95)
- [原理](#%E5%8E%9F%E7%90%86)
- [doGetBean](#dogetbean)
- [代理子类](#%E4%BB%A3%E7%90%86%E5%AD%90%E7%B1%BB)
- [CallbackFilter & Callback](#callbackfilter--callback)
- [Callback](#callback)
- [CallbackFilter](#callbackfilter)
- [回调](#%E5%9B%9E%E8%B0%83)
- [aop:aspectj-autoproxy](#aopaspectj-autoproxy)
- [属性](#%E5%B1%9E%E6%80%A7)
- [proxy-target-class](#proxy-target-class)
- [expose-proxy](#expose-proxy)
- [栗子](#%E6%A0%97%E5%AD%90)
- [切面](#%E5%88%87%E9%9D%A2)
- [被代理类](#%E8%A2%AB%E4%BB%A3%E7%90%86%E7%B1%BB)
- [配置](#%E9%85%8D%E7%BD%AE-1)
- [解析](#%E8%A7%A3%E6%9E%90-2)
- [原理](#%E5%8E%9F%E7%90%86-1)
- [总结](#%E6%80%BB%E7%BB%93-1)
- [拾遗](#%E6%8B%BE%E9%81%97)
- [AOP切面的坑](#aop%E5%88%87%E9%9D%A2%E7%9A%84%E5%9D%91)
- [总结](#%E6%80%BB%E7%BB%93-2)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# 开头

aop部分的解析器由AopNamespaceHandler注册,其init方法:
Expand Down
22 changes: 22 additions & 0 deletions note/spring-boot.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [SpringApplication](#springapplication)
- [web环境检测](#web%E7%8E%AF%E5%A2%83%E6%A3%80%E6%B5%8B)
- [ApplicationContextInitializer](#applicationcontextinitializer)
- [ApplicationListener](#applicationlistener)
- [SpringApplicationRunListener](#springapplicationrunlistener)
- [run](#run)
- [starting](#starting)
- [环境准备](#%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87)
- [属性来源](#%E5%B1%9E%E6%80%A7%E6%9D%A5%E6%BA%90)
- [profile配置](#profile%E9%85%8D%E7%BD%AE)
- [environmentPrepared](#environmentprepared)
- [配置文件加载](#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8A%A0%E8%BD%BD)
- [SpringApplicationJsonEnvironmentPostProcessor](#springapplicationjsonenvironmentpostprocessor)
- [CloudFoundryVcapEnvironmentPostProcessor](#cloudfoundryvcapenvironmentpostprocessor)
- [ConfigFileApplicationListener](#configfileapplicationlistener)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# SpringApplication

启动程序首先初始化了一个SpringApplication对象。来看一看在它的构造器了发生了什么。
Expand Down
Loading

0 comments on commit 57cc3aa

Please sign in to comment.