spring IOC及AOP

spring 的两大基础功能是IOC及AOP, 对两个功能作下基本的总结。

IOC(控制反转)

比如,在一个javabean中,实例中的属性可以调用构造方法,然后set各种property。 使用spring后,可以通过配置文件,选择合适的构造方法,通过反射实例化对象。在设置实例化对象的各种属性。

AOP(面向切面编程)

spring运行时的切面。在实例化对象的时候,判断对象是否需要增强(遍历所有方法是否匹配切入点),需要增强的话, 通过动态代理或者cglib生成代理对象。代理对象的invoke方法就是增强后的方法。在代理对象里,维护着一个增强方法的数组。再调用invoke方法,通过责任链模式调用,依次调用各个方法。

你可能感兴趣的:(spring IOC及AOP)