AOP(Aspect Orient Programming), 直译过去就是面向切面编程,AOP 是一种编程思维,是面向对象编程(OOP)的一种补充。
面向切面编程,是再不批改源代码的状况下给程序动静对立增加额定性能的一种技术.AOP 能够拦挡指定的办法并且对办法加强,而且无需侵入到业务代码中,使业务与非业务解决逻辑拆散,比方 Spring 的事务,通过事务的注解配置,Spring 会主动在业务办法中开启、提交业务,并且在业务解决失败时,执行相应的回滚策略。
AOP 的作用
AOP 采取横向抽取机制(动静代理),取代了传统纵向继承机制的重复性代码,其利用次要体现在事务处理、日志治理、权限管制、异样解决等方面。
次要作用是拆散功能性需要和非功能性需要,使开发人员能够集中处理某一个关注点或者横切逻辑,缩小对业务代码的侵入,加强代码的可读性和可维护性。
简略的说,AOP 的作用就是保障开发者在不批改源代码的前提下,为零碎中的业务组件增加某种通用性能。
例如对于一些公共的信息, 创立工夫、创建者、批改工夫以及批改者这些信息都能够应用 AOP 对须要设值的对象进行赋值. 还比方, 当咱们进行登录验证的时候, 能够应用 AOP 去动静的获取用户输出的用户名与明码, 而后删除掉前后空格.SpringAOP 能够对代码进行简化, 咱们在写代码的时候遇到常常反复的代码应该要有一种思维, 如何去对这些代码进行简化.