tinySpring Aop 分析笔记(1)
项目学习地址:code4craft/tiny-spring
step-7-method-interceptor-by-jdk-dynamic-proxy
step 7 针对有接口的情况,采用 jdk 动态代理的方式实现 AOP。
另一种情况是:无接口时,创建子类,然后进行增强(调用父类的方法),实现动态代理的实现。即 cglib 动态代理。
A Coder,a Programmer,a Developer
项目学习地址:code4craft/tiny-spring
step 7 针对有接口的情况,采用 jdk 动态代理的方式实现 AOP。
另一种情况是:无接口时,创建子类,然后进行增强(调用父类的方法),实现动态代理的实现。即 cglib 动态代理。
说明:本文分析的是 SpringFrameWork(5.0.5.RELEASE)IOC 部分的源码。
IOC:inversion of control,控制反转。应用程序将对象的控制权移交给第三方容器,并通过容器来管理这些被依赖的对象,完成了应用程序与被依赖对象的解耦。
学习项目 Github 地址:code4craft/tiny-spring
上一篇博客:tiny-spring分析笔记(1)
BeanDefinition
中,然后用BeanFactory
将它们一一注册(包括 setBean),最终实现 getBean。学习项目 Github 地址:code4craft/tiny-spring
使用 map 当作 bean 的容器,避免间接 new ,代替直接 new。
1 | public class HelloWorldService { |