spring中的ioc和aop概念

控制反转(IOC,Inversion Of Controll)

控制反转指的是对象创建责任的反转。原本我们需要创建一个对象必须要手动去new一个,那么在类中由于代码越来越多,需要管理的依赖和引用也会越来越多,代码维护的成本也会越来越高。Spring就把创建对象的控制权交给了IOC容器去完成。

面向切面编程(AOP,Aspect-Oriented Programming)

首先AOP的目的是为了解耦,其中最经典的一个例子就是日志记录。在没有使用Spring之前,我们要记录日志就必然会产生很多类似的代码,这些与业务无关的日志代码与业务代码耦合在了一起。Spring就把这些业务无关的代码(横切)分离成不同的组件,每个组件各负责一块功能,在需要使用这个功能的时候,通过定义好的切点,将组件织入到业务代码中,从而达到我们想要的效果。

  • 连接点:在应用执行过程中能够插入切面的一个点。

  • 通知:定义了切面是什么以及何时使用的概念,一共有5种通知类型。

  • 前置通知(Before):在目标方法被调用之前调用通知。

  • 后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么。

  • 返回通知(After-Returning):在目标方法成功执行之后调用通知。

  • 异常通知(After-Throwing):在目标方法抛出异常后调用通知。

  • 环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。

  • 切面:通知和切点(连接点)的结合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值