面向切面编程,
首先面向切面编程是什么?
面向切面就是把逻辑代码和处理琐碎事物的代码分离开,以便分离复杂度.
面向切面有什么用?
举个很简单的例子吧,银行去取款 取款之前会验证用户 输入密码,当客户取款后想要查看余额,但是又要验证一把输入密码,这样不仅用户体验度极差,而且代码繁琐,所以仙子阿我们用到的AOP 思想就是引导我们从一个切面来看待这些工作,有了aop 我们就不用考虑验证用户了,在一个地方将我们的验证用户代码写好,然后只需要告诉spring 你要把这段代码加到什么地方去,也就是我们spring 里面的一个核心概念 "切入点".其实切入点就是啥时候去干这个验证用户工作,然后spring就会帮我们把这段代码加过去,我们只需要专注逻辑代码就可以了,也就是我们spring里面的增强,增强就是干啥,就是我们接下来的取款与查询余额,
生活中的例子就是端碗-吃饭-放筷子,端碗-吃面-放筷子, 只需要定义好端碗-放筷子就可以了,并声明在吃点啥之前之后调用他们就行了,业务逻辑层只要吃饭,吃面就行了,以后想吃点饺子就简单了.
在我们项目实践中,我们可以把事物,安全.日志,一次性声明好,之后我们只需要专注与业务逻辑成就可以了,减少了重复的代码,这样就为我们程序员简化了开发,