搬家的时候,书可真是重资产呀

最近文章发的少,因为最近事情比较多,松哥在忙着搬家。

现在租的房子住了三年多了,有不少东西需要清理,在清理的过程中发现还有不少书。有一部分是出版社当时寄给我做送书活动用的,但是因为我比较懒,至今还没送完,还有一部分是我自己买的,看完了就都摞在书架上了,几年下来攒了不少书。

其实在外租房我特别恐惧买书,因为这都是“重资产”,搬家的时候最沉的就是这些东西了。虽然我从小就希望能有自己的书架书桌,但是在外租房漂泊还是不做奢想了。

对于技术类图书,我一直是能看电子书就选择电子书,但是无奈有时候一些新出版的图书,微信读书上还没上线,自己又比较急,那就只能买实体书了。

所以想了想,想在搬家之前,把这些书送给小伙伴们吧!刚好最近 Spring 源码视频也已经接近杀青了,因此计划是这样,从今天到 12 月 8 号,凡是上车 Spring 源码视频或者 TienChin 项目视频的小伙伴,都可以参与松哥组织的一次抽奖活动,奖品是技术图书,中奖率为 50%(我会拉群以保证中奖率)。

关于 TienChin 项目的介绍,小伙伴们可以戳这里:TienChin 项目配套视频来啦

Spring 源码视频接近杀青了,视频介绍戳这里:Spring源码应该怎么学?。下面是已经更新的 Spring 源码视频目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
├── 01.基础用法
│   ├── 01.IoC基础
│   │   ├── 01.Spring框架介绍-核心容器.mp4
│   │   ├── 02.Spring框架介绍-数据访问和通信.mp4
│   │   ├── 03.Spring框架介绍-Web模块.mp4
│   │   ├── 04.Spring框架介绍-AOP和测试.mp4
│   │   ├── 05.什么是IoC.mp4
│   │   ├── 06.自定义一个简单的IoC.mp4
│   │   ├── 07.向Spring容器注册Bean.mp4
│   │   ├── 08.从Spring容器获取Bean.mp4
│   │   ├── 09.id属性和name属性.mp4
│   │   ├── 10.基本属性注入.mp4
│   │   ├── 11.复杂属性注入.mp4
│   │   ├── 12.构造器注入.mp4
│   │   ├── 13.p名称空间注入.mp4
│   │   ├── 14.属性自动注入.mp4
│   │   ├── 15.配置文件加载.mp4
│   │   ├── 16.Java代码配置IoC.mp4
│   │   ├── 17.BeanName自动生成原理.mp4
│   │   ├── 18.id和name属性处理原理.mp4
│   │   ├── 19.Bean 的作用域.mp4
│   │   ├── 20.singleton 和 prototype 的区别.mp4
│   │   ├── 21.条件注解详解.mp4
│   │   ├── 22.多环境切换.mp4
│   │   ├── 23.Profile原理分析.mp4
│   │   ├── 24.自定义Profile.mp4
│   │   ├── 25.Bean的依赖关系.mp4
│   │   ├── 26.FactoryBean用法.mp4
│   │   ├── 27.抽取Bean的公共属性.mp4
│   │   ├── 28.父子容器问题.mp4
│   │   ├── 29.@Configuration注解的作用.mp4
│   │   ├── 30.Bean自动扫描.mp4
│   │   └── 31.属性值注入.mp4
│   ├── 02.AOP基础
│   │   ├── 01.静态代理.mp4
│   │   ├── 02.编译时增强和运行时增强.mp4
│   │   ├── 03.编译时增强.mp4
│   │   ├── 04.运行时增强-JDK.mp4
│   │   ├── 05.运行时增强-CGLIB.mp4
│   │   ├── 06.什么是Spring AOP.mp4
│   │   ├── 07.SpringAOP和AspectJAOP.mp4
│   │   ├── 08.Spring AOP核心概念.mp4
│   │   ├── 09.Spring AOP入门用法.mp4
│   │   ├── 10.五种通知.mp4
│   │   ├── 11.Java代码配置AOP.mp4
│   │   ├── 12.SpringAOP底层代理.mp4
│   │   └── 13.通过注解定义AOP拦截规则.mp4
│   ├── 03.JdbcTemplate
│   │   ├── 01.JdbcTemplate基本操作.mp4
│   │   ├── 02.增删改查.mp4
│   │   └── 03.通过变量名传递参数.mp4
│   └── 04.事务
│   ├── 01.事务简介.mp4
│   ├── 02.编程式事务.mp4
│   ├── 03.XML配置声明式事务.mp4
│   ├── 04.Java配置声明式事务.mp4
│   ├── 05.Java+XML配置声明式事务.mp4
│   ├── 06.自定义事务注解.mp4
│   ├── 07.事务属性-隔离级别.mp4
│   ├── 08.事务属性-传播性.mp4
│   ├── 09.事务属性-传播性2.mp4
│   ├── 10.事务属性-回滚规则.mp4
│   ├── 11.事务属性-只读事务.mp4
│   ├── 12.事务属性-超时时间.mp4
│   └── 13.事务失效的场景.mp4
└── 02.进阶用法
├── 001.通过name属性定义别名.mp4
├── 002.通过alias标签定义别名.mp4
├── 003.别名处理接口AliasRegistry.mp4
├── 004.aliasMap变量.mp4
├── 005.allowAliasOverriding.mp4
├── 006.hasAlias.mp4
├── 007.removeAlias和isAlias.mp4
├── 008.getAliases.mp4
├── 009.checkForAliasCircle.mp4
├── 010.canonicalName.mp4
├── 011.registerAlias.mp4
├── 012.resolveAliases.mp4
├── 013.name属性解析原理.mp4
├── 014.alias标签解析.mp4
├── 015.DefaultListableBeanFactory.mp4
├── 016.StaticListableBeanFactory.mp4
├── 017.SimpleJndiBeanFactory.mp4
├── 018.ApplicationContext.mp4
├── 019.FactoryBean&SmartFactoryBean.mp4
├── 020.FactoryBean处理思路.mp4
├── 021.Bean提前加载流程分析.mp4
├── 022.isFactoryBean方法分析.mp4
├── 023.getBean中&的处理逻辑.mp4
├── 024.BeanDefinition简介.mp4
├── 025.RootBeanDefinition.mp4
├── 026.ChildBeanDefinition.mp4
├── 027.GenericBeanDefinition.mp4
├── 028.AnnotatedGenericBeanDefinition.mp4
├── 029.ScannedGenericBeanDefinition.mp4
├── 030.ConfigurationClassBeanDefinition.mp4
├── 031.CreateFromClassBeanDefinition.mp4
├── 032.ClassDerivedBeanDefinition.mp4
├── 033.加载XML配置的两种方式.mp4
├── 034.BeanDefinitionReader.mp4
├── 035.PropertiesBeanDefinitionReader.mp4
├── 036.XmlBeanDefinitionReader.mp4
├── 037.配置类解析为BeanDefinition.mp4
├── 038.@Scope注解高级用法.mp4
├── 039.编程式AOP.mp4
├── 040.编程式AOP之target方法分析.mp4
├── 041.TargetSource体系结构.mp4
├── 042.SimpleBeanTargetSource.mp4
├── 043.自定义TargetSource.mp4
├── 044.引介增强.mp4
├── 045.启动类上的@Scope注解代理原理.mp4
├── 046.常规类上的@Scope注解.mp4
├── 047.Java配置中的@Scope代理.mp4
├── 048.导入配置类上的@Scope注解.mp4
├── 049.@Configuration注解存在的意义是什么.mp4
├── 050.@Configuration-Vs-@Component.mp4
├── 051.@Configuration原理分析.mp4
├── 052.@Configuration的两种模式Full和Lite.mp4
├── 053.详细演示Full和Lite模式.mp4
├── 054.Full模式和Lite模式特点总结.mp4
├── 055.@Configuration注解解析源码分析.mp4
├── 056.@Configuration注解解析源码分析-2.mp4
├── 057.条件注解高级用法.mp4
├── 058.条件注解高级用法补充.mp4
├── 059.条件注解原理分析.mp4
├── 060.beanName自动生成场景.mp4
├── 061.beanName生成器分析.mp4
├── 062.AnnotationBeanNameGenerator.mp4
├── 063.BeanFactoryPostProcessor和BeanPostProcessor.mp4
├── 064.BeanFactoryPostProcessor案例.mp4
├── 065.BeanFactoryPostProcessor典型应用场景.mp4
├── 066.Properties加载原理分析.mp4
├── 067.BeanDefinitionRegistryPostProcessor.mp4
├── 068.BeanFactoryPostProcessor作用时机分析.mp4
├── 069.BeanPostProcessor接口分析.mp4
├── 070.BeanPostProcessor实践.mp4
├── 071.BeanPostProcessor实现AOP.mp4
├── 072.MergedBeanDefinitionPostProcessor.mp4
├── 073.BeanPostProcessor原理分析.mp4
├── 074.合并BeanDefinition原理分析.mp4
├── 075.合并BeanDefinition源码分析.mp4
├── 076.父子容器原理分析.mp4
├── 077.事件基本用法.mp4
├── 078.事件是阻塞还是非阻塞.mp4
├── 079.手动注册事件监听器.mp4
├── 080.事件三大组件.mp4
├── 081.Java类定义的事件监听器.mp4
├── 082.Java类定义的事件监听器-补充.mp4
├── 083.通过Java注解定义的事件监听器.mp4
├── 084.ApplicationEventPublisher.mp4
├── 085.ApplicationEventMulticaster.mp4
├── 086.Spring事件补充.mp4
├── 087.Java国际化.mp4
├── 088.Spring国际化.mp4
├── 089.MessageSource层级关系.mp4
├── 090.getMessage方法原理分析.mp4
├── 091.解析无参的key.mp4
├── 092.解析有参key.mp4
├── 093.Lifecycle基本用法.mp4
├── 094.SmartLifecycle基本用法.mp4
├── 095.Lifecycle中start方法执行原理.mp4
├── 096.Lifecycle中stop方法执行原理.mp4
├── 097.编程式AOP.mp4
├── 098.动态代理对象创建流程.mp4
├── 099.JDK和CGLIB动态代理分析.mp4
├── 100.Advisor详解.mp4
├── 101.自定义切面对象Advisor.mp4
├── 102.重载方法拦截规则.mp4
├── 103.拦截所有方法.mp4
├── 104.默认配置的Pointcut对象.mp4
├── 105.Pointcut经典写法.mp4
├── 106.Pointcut分类.mp4
├── 107.StaticMethodMatcherPointcut.mp4
├── 108.StaticMethodMatcherPointcut-2.mp4
├── 109.DynamicMethodMatcherPointcut.mp4
├── 110.AnnotationMatchingPointcut.mp4
├── 111.ControlFlowPointcut.mp4
├── 112.ComposablePointcut.mp4
├── 113.提前返回Bean的机会.mp4
├── 114.提前AOP的机会.mp4
├── 115.理解两个关键变量.mp4
├── 116.特殊的beanName.mp4
├── 117.自定义TargetSourceCreator.mp4
├── 118.提前AOP实践.mp4

以上。

喜欢这篇文章吗?扫码关注公众号【江南一点雨】【江南一点雨】专注于 SPRING BOOT+微服务以及前后端分离技术,每天推送原创技术干货,关注后回复 JAVA,领取松哥为你精心准备的 JAVA 干货!

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×