Spring IOC,AOP原理

Spring IOC,AOP原理(重点)

IOC:控制反转

假设有这么一个场景:在A类中调用B类的方法,我们就称A依赖B,B为被依赖(对象)

传统做法:直接在A(方法)中new出B类对象,然后调用B类方法

Spring框架:在spring中,B的实例对象被看成Bean对象,这个Bean对象由spring容器进行创建和管理,这样,A获取B的实例对象就不是由自己主动去获取,而是被动接受spring给它设值,这样由主动变为被动,就可以理解为“控制反转”。

AOP:从左到右的关系 例子:people去医院,把医院这个第三方机构独立出来

传统的OOP,是一种从上到下的关系。以people对象来说,people对象有身高、体重、年龄等属性,也有跑步、吃饭、睡觉、娱乐等行为,把这些属性和行为封装在people类中,然后以统一调用的方式叫做OOP思想。

AOP思想就是一种从左到右的关系,以切入的方式将业务逻辑功能应用到每一层结构中(可以理解为类方法,类方法也是一种对象的行为实现)。举个例子,people也可以分为少年、青年、中年、和老年,这几类人除了拥有自己的属性和行为外,生活中,或许还需要去医院看病,但是医院看病这一个业务逻辑功能并不是属于哪一类,而是谁生病了,才需要到医院看病,而基于面向对象编程的思想,我们是不可能把这一个业务逻辑行为加到每一个类中的,这不符合OOP思想,而这个就是AOP所做也可以做到事情了,AOP就是把医院看病这一个业务逻辑功能抽取出来,然后动态把这个功能注入到需要的方法(或行为)中,以后不管是谁需要看病,就到医院这个第三方机构看病(AOP就是相当于把这个第三方机构独立出来),这样从业务逻辑角度上,AOP达到了更近一步的的解耦,所以我们也称AOP是对OOP的完善和增强。在编程中,常用到AOP的就是安全校验、日志操作、事务操作等

 

 

本人才疏学浅,如有错误,烦请指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值