IOC和AOP

IOC和AOP是Spring中两个非常核心的概念。

一、IOC

IOC是控制反转,也可以称为依赖倒置。

所谓的依赖,就是在程序中,A要调用B的方法,那么A依赖于B。理解倒置之前,首先理解不倒置,不倒置就是A要依赖B,那么必须要有B,不倒置就是A要主动获取B的实例  B b=new B(),然后就可以使用了。倒置就是你不需要主动获取B,而是由其他人把B主动送上门来。举个例子,如果你想喝水,那么必须去小卖部去买,但是呢,小卖部离家很远,去买的话需要骑车等等,去了之后还不知道小卖部有没有你想要的那种水,这个问题也就复杂了。但是,小卖部有送货上门的服务,你只需要给小卖部说一声你要的是哪种水,那么会由配送人员直接给你送货上门,这样问题就非常简单了。

spring中的IOC的原理就是:动态代理。

二、AOP

AOP是面向切面的编程,它的目标就是分离关注点,什么是关注点呢?关注点就是你要做的事情。举个例子,假如一个公子哥,每天的事情除了吃就是玩,其他的事情不想管,但是它每天睡觉前得脱衣服,起床后得穿衣服,吃饭等等,这就是它的关注点,那怎么办呢?这就需要别人来帮他完成它的事情,那么他就会雇佣一些仆人,仆人A给他穿衣服,仆人B给他把饭端上来等等,然后它吃了饭就出去玩,回来了,仆人再次完成他们的任务。

AOP的好处就是你只需完成你想做的事情,其他的事情由别人帮你完成,每个人各司其职,灵活组合,达到一种可配置的、可插拔的程序结构。AOP的最大用途就是提供了事务管理的功能,它的关注点就是事务管理,只需要访问数据库,不想管事务,所以,spring在访问数据库之前,自动开启事务,当你访问数据库结束的时候,自动结束事务和回滚事务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Be a good programmer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值