Spring总结
Spring两大功能,IOC(控制反转)、AOP(面向切面)。
IOC
Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java 开发中,Ioc 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
AOP
Spring AOP代理对象的生成,Spring提供了两种方式来生成代理对象: JDKProxy和Cglib。
我们知道InvocationHandler是JDK动态代理的核心,生成的代理对象的方法调用都会委托到InvocationHandler.invoke()方法。而通过JdkDynamicAopProxy的签名我们可以看到这个类其实也实现了InvocationHandler,下面我们就通过分析这个类中实现的invoke()方法来具体看下Spring AOP是如何织入切面的。