- 博客(6)
- 资源 (3)
- 收藏
- 关注
原创 Tiny-Spring——生命周期、三级缓存、类型转换
1. 生命周期总体来说是先refresh() => getBean()1.1 refresh调用refreshBeanFactory => loadBeanDefinition将会把创建所有的BeanDefinition =》 doScan =》 扫描包中所有注解@ComponentaddApplicationContextAwareProcessor => 要在ApplicationContextAwareProcessor中添加ApplicatoinContext本身inv
2021-09-28 20:31:33 180
原创 Tiny-Spring——AOP系列
1. JDK代理和Cglib代理两种方式的区别JDK动态代理使用的是运行期间使用反射CGlib使用的是动态生成class文件字节码,为原先的类生成子类class文件,运行的时候使用相应的子类。传统的代理模式缺陷和动态代理的优势代理模式是两个类同时实现一个接口,一个类持有另一个类的实例,然后自定义逻辑以增强。为什么在AOP中不使用传统的代理模式,是因为传统的代理模式,针对同样一个接口中同样的一个方法,需要写不同的类来进行代理,会增加代码的复杂度。(针对与同一个JoinPoint,要写不同的逻辑来实现
2021-09-28 20:29:19 144
原创 Tiny-Spring——BeanFactory系列
QuestionDefaultListableBeanFactory是关于Bean的接口中的第一个具体的实现,但是为什么Spring中设计这么复杂的接口继承和实现关系呢?这些不同的接口之间到底有什么作用呢?1. 概览首先贴一张自己复现的一个精简版的Spring的类结构。不过感觉总体上还是差不太多,核心思想都一样。这四层接口要分层看待,根据不同的继承层次分别赋予了不同的功能。第一层接口:BeanFactory第二层接口:AutowireCapableBeanFactoryHierar
2021-09-28 20:27:12 172
原创 Tiny-Spring——ApplicationContext系列
1. 为什么要有ApplicationContextApplicationContext主要是为了将以下几个步骤(当然源spring中可能有更多)整合起来,放到一个容器中,提供生命周期管理。读xml文件,进行bean的读取和beanDefinition的读取注册postProcessor注册BeanFactoryPostProcessorinvoke BeanFactoryPostProcessor如果不经过ApplicationContext,那么这一系列的过程大概是这样的,需要自己手动去
2021-09-28 20:24:08 159
原创 伯克利大学数据库homework project2 实现
伯克利大学数据库homework project2 实现因为保研等事情耽误了将近好几个月之后,决定将这个系列写完project2 中实现的有两部分第一部分是数据库的insert,delete,selection,join,aggregates等操作。aggregates翻译为聚合操作,具体含义就是怎样根据限定条件将数据,或者是project1中的Tuple聚集在一起。第二部分是数据库的缓...
2019-11-14 21:10:26 1288 2
原创 伯克利大学数据库homework project1 实现
最近发现了一个来自伯克利大学的数据库作业,看起来很不错,所以打算认认真真的做完。homework链接为:https://sites.google.com/site/cs186fall2013/homeworks构建工具作业使用ant构建工具进行构建,但我觉得使用Maven工具更好一点。导入本地jar包项目中涉及到了一些jar包,既可以采用远程让Maven自己下载安装的方式,也可...
2019-03-31 00:16:36 2435 5
武汉理工大学计算机马区综合实验2(java语言实现文件管理系统)
2019-04-21
武汉理工大学计算机马区综合实验1(C语言实现计费管理系统)
2019-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人