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

15026646813

热门课程

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

  • 时间:2018-04-11 14:26
  • 发布:上海java培训
  • 来源:达内新闻

学习Java的程序员都知道面向对象编程oop,它是从静态解读考虑程序结构的,今天上海Java培训小编来解读AOP,看看程序员应该如何理解Spring aop。

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

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

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

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

关于Spring aop的知识小编就介绍到这里,如果你想学习更深的Java知识,可以加入上海Java培训班VIP免费试听课,为你揭晓更多的Java学习指南。

上一篇:程序员与程序员之间是如何拉开差距的?
下一篇:初次上岗,该如何让自己更有价值?(来自Java工程师自述)

Java软件开发就业方向有哪些?工作前景如何?

Java学习中多继承和接口傻傻分不清楚

上海达内Java培训带你走向职业巅峰

上海Java公司排行?上海软件公司人气雇主(排行榜)

选择城市和中心
贵州省

广西省

海南省

免费学习5天VIP课程