Spring IOC和Spring实现AOP

IOC控制反转 容器控制程序对象之间关系,而不是传统实现中,有程序代码之间控制,又名依赖注入。ALL类的创建,销毁都由Spring来控制,也就是说控制对象声明周期的不是引用他的对象,而是Spring。对于某个对象而言,以前是他控制其他对象,现在是all对象都被Spring控制,这就是控制反转。

依赖注入的思想是通过反射机制实现的。在实例化一个类时,他通过反射调用类中的set方法将事先保存在hashmap中的类属性注入到类中。

依赖注入:在运行期间由容器将依赖关系注入到组件中,就是在运行期,由spring根据配置文件将其他对象的引入通过组将提供的setter方法进行设定。

控制反转:对组件对象控制权的转移,从程序代码本身转移到了外部容器,通过容器来实现对象组件的装配和管理。

Spring实现aop:JDK动态代理,cglib动态代理

JDK动态代理:其代理对象必须是某个接口的实现,他是通过在运行期间创建一个接口的实现类来完成对目标对象的代理。核心类有:InnovactionHandler,Proxy
**Cgib动态代理:**实现原理类似于JDK动态代理,只是他在运行期间生成的代理对象是针对目标类扩展的子类。MerhodInterceptor。

猜你喜欢

转载自blog.csdn.net/weixin_39940206/article/details/95204539