spring源码分析
文章平均质量分 81
照己
我以我心照明月
展开
-
spring源码分析,重新认识spring四(回顾下上篇的问题,以及从spring 的常用模式开始)
思考:为什么 jdk 的动态代理不能实现 不继承 proxy 类,像cglib 一样继承 被代理类,不行吗, 不是可以达到 既可以 接口接受 又可以实现类接受。 同样 cglib 也是,为什么不能既实现类的代理又实现接口的代理, 针对这个问题,研究了下,得出结论,java 其实 也是可以去实现 类的代理,毕竟就是动态修改字节码,但是 java没有去实现,原因是 因为java 的 思想,面向接原创 2017-09-25 09:34:15 · 217 阅读 · 0 评论 -
spring源码分析,重新认识spring五(内功心法 从思想上说明 spring 常用的几种设计模式,漫谈)
动态代理:关注过程,关注的是整体的局部,面向的切面思想。 抽象工厂:关注的是结果,隐藏实现 单例模式:整个环境内只有一个类,有饿汉和懒汉,饿汉即 类加载直接new 对象,懒汉 即使用的时候才new对象,比较有名的有 双检索 单例,因为直接用同步限制会导致每次取对象都是同步的,导致性能不好,所以爽检索,第一次 不同步,后面再同步锁去 判断确保判断的完整性,还有匿名类部类的单例模式,不过最新的现在原创 2017-09-27 13:41:57 · 315 阅读 · 0 评论 -
spring源码分析,重新认识spring 一
spring ioc 就是控制反转和依赖注入,就是从前对象由自己new 出来,现在对象由spring 容器统一管理和生成,然后通过xml 配置 ,由set 方法(没有set 方法,则直接赋值反射 把private 设置为可以修改,强制赋值),或构造器,或工厂方法注入进来,当然现在都是用注解,也可以由注解配置。 spring 它的实现方式,因为类之间是相互引用的,从前我以为是通过 递归去不停的先实原创 2017-09-20 09:15:58 · 1007 阅读 · 1 评论 -
spring源码分析,重新认识spring 二(aop实现详细分析)
为什么使用jdk 动态代理来实现,而且实现的是接口的代理。 jdk实现接口的代理 主要用的是Proxy.newProxyInstance 方法 该方法返回代理对象,该代理对象实现传入的接口,并且继承了Proxy 类 代理类开头概如下: public final class $Proxy0 extends Proxy implements Person 证明部分代码如下: Class原创 2017-09-21 11:14:30 · 226 阅读 · 0 评论 -
spring源码分析,重新认识spring三(总结,总结下 ioc 和 aop,同时提出疑惑)
spring ioc 重要的就是 三个概念,控制反转、依赖注入、容器。 IOC 主要就是 从前由自己去实例化对象,new 对象,现在由spring 容器来管理和产生对象,并且通过 set 方法,构造器方法设置值,没有set 方法就通过反射修改 private 属性的权限,强行赋值,主要有 set,构造器,实例工厂,静态工厂四种方式注入。由于bean 之间是相互引用的,所以他的注入原创 2017-09-22 09:21:00 · 276 阅读 · 0 评论 -
spring源码分析,重新认识spring六(从new FileSystemXmlApplicationContext 开始解读)
从new FileSystemXmlApplicationContext 开始解读spring 源码,这一步的时候主要是 资源定位,加载、解析、注册 四个步骤。原创 2017-11-20 16:02:29 · 377 阅读 · 0 评论