SpringIOC 、SpringAOP的实现机制区别

SpringIOC(反转是指:我们由对象的控制者变成了 IOC 的被动控制者)

实现机制

反射:通过反射动态的创建类、创建对象实例、调用对象方法

依赖注入:IOC的实现方式,IOC容器用来管理应用程序的依赖关系,spring通过构造器注入、属性注入、方法注入

设计模式--工厂模式:Spring IOC容器采用工厂模式来实例化Bean并管理他们的生命周期,通常使用BeanFactory管理Bean

代理模式:

为其他对象提供一个代理类以控制对某个对象的访问,实现两个类的解耦,委托类和代理类都要实现相同的接口,因为代理类真正要调用的是委托类的方法

静态代理:

由程序员创建,通常代理类只能代理一个类

动态代理:

反射机制生成,可以代理多个实现类

而java的动态代理又分为两种类型
基于接口的代理:实现Proxy接口
基于类的代理(CGLIB):当委托类没有实现接口时,会利用第三方库CGLIB创建一个子类作为代理(继承机制)

SpringAOP

是面向对象编程的一种补充,对于那些强共性的代码,可以采用继承机制,而一些弱共性,AOP可以统一处理

AOP首先在一个Aspect(切面)定义一些advice(增强方法),同时整理了PointCut(切入点),切入点的粒度为方法,最后将这些advice穿插进去实现方法的增强!如日志记录、事务管理

实现原理

通过动态代理(在运行时运用反射机制动态创建代理对象,主要用于在不修改原始类代码的情况下对方法调用进行拦截和增强)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值