浅谈Spring的IOC和AOP的概念

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

首先,IOC和AOP是Spring的两个核心,但并不算Spring提出的,早在Spring之前就已经存在了,只不过是更偏向理论化,下面我我们来浅谈一下Spring的IOC和AOP的概念。


一、IOC是什么?

IOC:控制反转或反转控制(Inverse of Control),也可以称之为依赖倒置。主要作用于对象的创建和管理。
在我们固有的传统开发思想中,当我们需要创建一个对象的时候会想到的是new一个。就是要依赖,要依赖才能等到。如果我们不需要依赖,就能主动获取呢?这就是IOC的“功能”。
语外话,就是我们像要去买菜的时候,通常我们都是要走出门,去市场等等等才能买到。这些考虑的问题太复杂了。如何解决这种问题呢?
这个问题已经有大部分的商家想出了。提供上门送货服务。凡是注册了会员,只需要下单你想要的东西,商家就会主动把货物送上门,这样我们就节省了很多没有必要的活动,这样是不是很好呢?
第一:注册会员。
第二:下单想要的货物
第三:上货上门就能得到你想要的货物。
这就很Spring的做法很相似,Spring就是商家,你就是对象,货物就是你要依赖的对象。
第一:在Spring中声明一个类:A
第二:告诉Soring,A想要B
第三:直接获取B对象
IOC主要是解决对象之间的耦合问题。例如当service层调用dao层时,我们不需要再service中new出dao层的具体实现类,我们只需要关注dao层的接口,再service中声明接口属性,具体的实现类在IOC容器中进行切换。这就实现了对象中强耦合的情况。

二、AOP是什么?

AOP: Aspect oriented Programming ⾯向切⾯编程/⾯向⽅⾯编程,AOP是OOP的延续。
面向切面编程的目标就是切分关注点,什么是关注点?就是关注的事。假如你是M国总统,演讲就是你的关注点。但是在演讲前要准备稿子,等等等事情,这些就是你的关注点,但是你只在乎演讲这个过程,怎么办呢?那就把其他事情统统交给其他人搞,秘书,司机等等这些人去弄,你只需要出席演讲,照着稿子读就完事了。
就Spring的角度看,AOP最大的作用就是在于提供事务管理的能力。在不改变原有的业务逻辑情况下,增强横切逻辑代码,解耦并避免横切逻辑代码的重复。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值