1.Spring-AOP底层就是动态代理。
2.为什么环绕通知没有影响其他切面?
有个LogAspectRroxy(Log切面/日志记录切面)
目标方法的执行=
Log切面 给目标方法创建一个动态代理对象。
Log切面 method.invoke()
//环绕通知ProceddingJoinPoint调用proceed方法
如果只有一个切面,环绕通知顺序执行。
如果有两个切面
目标方法被另外一个切面包。
调用proceed之后,进入到第二个切面执行了。
相当于你method.invoke是第二个切面动态代理返回的结果。
环绕通知可以修改返回值,假设第二个切面修改了返回值。
多层代理。
IOC:
1.ioc是一个容器
2.容器启动完成前时候,创建出单实例对象,
3.我们可以从容器中获取到这个对象。getbean
SpringIOC
1.ioc容器的启动过程
什么时候创建单实例bean?如何创建?如何管理?保存在哪?