为了账号安全,请及时绑定邮箱和手机立即绑定

谈谈AOP

标签:
Java SpringBoot

所谓AOP,即面向切面编程,它和我们熟知的面向对象编程或面向过程编程有何区别?

首先,AOP只是面向对象或面向过程的一种补充,它无法取代后者。

面向对象的侧重点就是对象,那么面向切面的侧重点就是切面了。

那何为切面?我们可以通过一个小例子来看一下:

假设我们的程序有一个增加用户的功能:

public void addUser(){
       System.err.println("模拟增加用户");
   }

现在我们的需求是要在增加用户之前记录一下日志,那么我们可以这么写:

public void addUser(){
       System.err.println("模拟日志记录");
       System.err.println("模拟增加用户");
   }

这样可以虽然可以完成功能,但是假设我们的程序有一百个类似的功能,都需要在执行之前记录日志,这样还不得累skr人?

这时候,AOP就来解放我们了。

假设有这样一个类,它有一个before方法,然后我们可以通过配置的方式声明哪些类的方法需要在执行之前调用这个before方法,岂不美滋滋?

public void bofore(){
       System.err.println("模拟日志记录");
   }

这时候,addUser这个方法就可以被看作一个切面。

所以AOP的应用场景各位应该也都能了解了。

我们将在下一篇文章中探秘AOP实现原理


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消