厦门Java培训
达内上海中山公园中心

13732203138

热门课程

Java指南:你是如何理解Spring aop的?

  • 时间:2018-08-16 15:27
  • 发布:转载
  • 来源:网络

程序员是如何理解Spring aop的?

在我们对Spring aop理解之前,我们可以确定的是面向对象编程oop,OOP是从静态解读考虑程序结构,而今天要说的AOP是从动态角度考虑程序运行过程。也可以说AOP是OOP的补充和完善。

为什么要这么说呢?本篇文章为大家准备的Java学习指南,OOP引入了封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共的一个集合。当我们需要为分散的对象引入公共行为的时候,则OOP显得无能为力了。也就是说,OOP允许你定义从上到下的关系,但并不适合从左到右的关系,小编举个日志功能的例子吧:日志代码往往水平的散步在所有对象层次中,而与它所散步到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理和透明的持续性也是如此。这种散布在各处的无关的代码被称为横切代码,在oop设计中,他导致了大量代码的重复,而不利于各个模块的重用。

而今天小编要介绍的AOP技术则恰恰相反,它利用一种称为“横切”的技术,剖解开封装的对象内部,并将哪些影响了多个类的公共行为封装到一个可重用模块,简单的来说就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来。便于减少系统的重复代码,降低模块间的耦合度等。

这里小编简明扼要的说一下aop底层的两种代理(jdk代理,CGLIB代理):1.java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。2.cglib代理,是针对类来实现代理的,讲师有讲过他的原理,是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。

关于Spring aop的知识小编就介绍到这里,如果你想学习更深的Java知识,达内可以为你揭晓更多的Java学习指南。

上一篇:Java程序员如何让自己更有价值?
下一篇:程序员与程序员之间是如何拉开差距的?

Java面试中常见的10个问题(二)

Java进阶之路——从初级程序员到架构师

准备年后辞职?收好这份java面试指南

Java编程——Redis详解

选择城市和中心
贵州省

广西省

海南省