Spring之前已经跟学弟具体聊很详细的IOC已经循环依赖问题,接下来要接着为跟学妹们聊另外的一个模块了,那就是AOP
,这也是面试官比较喜欢问的一个模块点。
什么是AOP?
AOP通常叫面向切面编程(Aspect-oriented Programming,简称AOP),它是一种编程范式,通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。 通常用来对隔离不同业务逻辑,比如常见的事务管理、日志管理等。同时实现AOP的方式也有两种:cglib 以及 jdk两种方式来实现。
为什么要有AOP?
假设现在有几个实现方法,需要做日志处理,正常来说我们只需要手动添加一下日志就可以了,我们都知道在真正的业务代码中,代码行数,以及方法数那是一个天文数字,如果都要手动添加那工作量不现实。
本着作为程序员因该想着怎么合理的偷懒的习惯,所以应该想办法提高效率。