Spring AOP 、IOC 理解

AOP

AOP,即面向切面编程,面向切面编程的目标就是分离关注点。什么是关注点呢,就是你要做的事,就是关注点。

AOP 是在程序运行过程中,动态切入该程序的某个类的某个方法。比如:在超市结算时,有结算单,在结算单里面 : 头部一般都有该超市的名称 中部有自己购买的东西信息 尾部一般有“欢迎你下次再来” 在这个程序的打印代码中,只需要写中部就行了, 头部和尾部不需要写,可以通过AOP实现。 就是说:我不需要修改代码,照样可以输出头部和尾部。

从Spring的角度看,AOP最大的用途就在于提供了事务管理的能力。事务管理就是一个关注点,你的正事就是去访问数据库,而你不想管事务(太烦),所以,Spring在你访问数据库之前,自动帮你开启事务,当你访问数据库结束之后,自动帮你提交/回滚事务!

AOP demo 可以参考
黄勇 《AOP那些事儿》相关程序源码
http://my.oschina.net/huangyong/blog/161338

IOC

IOC,名为对象控制反转,简单的可以理解为AOP概念的一个功能实现。主要运用在对象中!

当你将面向对象理解的比较深入的时候,就可以这样理解IOC了:
当你需要敲碎一块石头时,你将怎么做,分别说明这个过程?

我可以给你的答案是:
1. 我可以用槌子来敲碎石头
1. 我可以用碎石机来敲碎石头
1. 我可以找别人来帮忙敲碎石头

然后分析这个需求。主体是“我”,动作是“敲”。这里的IOC主要是用来控制“用什么”的,从而为了达到目的而使用不同的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值