Spring Aop

作者: hahahehe123 | 来源:发表于2017-11-09 16:07 被阅读0次

    大家好,我是IT修真院上海分院,一枚正直纯洁善良的如刚入门的Java程序员,今天试着给大家分享一下spring的知识点AOP的理解运用


    1.先简单介绍下背景

    Spring是一个基于IOC和AOP结构的开源轻量级开发应用框架,Rod Johnson为了解决企业级应用开发复杂性创建的,因此spring也说是J2EE系统的框架


    2.知识剖析

    AOP思想

    spring的一种编程思想,就是把一个要做的功能分成两类;核心业务功能以及周边业务功能,也可以说是辅助功能;就像任务中的登陆,增加数据,删除数据是核心业务;而性能统计,打印日志就属于周边辅助性的功能;周边功能理论上去掉,不会影响核心业务的实施;但是实际编程中不会那样做,就像日志这个周边功能,除了反应代码是否运行;还可以输出重要的信息,帮助调试;分析业务现状或者问题等,所以不可能忽略


    什么是切面

    就是在Spring的面向切面编程AOP思想的周边功能


    什么是AOP?

    Aspect Oriented Program面向切面编程:区分了核心和周边功能,理解了切面的定义,知道了aop的面向切面的思想,就可以定义Aop了;依据上面讲的面向切面编程的AOP思想,然后分别对核心业务功能和切面功能独立进行开发;然后把切面功能和核心业务功能"编织"在一起,这就叫AOP,也就是面向切面编程.


    通过编码来演示一下,AOP中的概念

    基于Xml配置文件的AOP

    基于注解的AOP


    Aop的作用

    利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。以日志为例, 如果不用AOP,每次打日志都去修改业务代码;使用AOP业务代码不需要做任何改变,通过配置就可以实现哪些业务要用上日志,哪些业务不用上日志;代码量更小,而不改代码意味着,犯错的机会更小,维护成本更低,同一时间,开发人员能完成的工作量也更大了。


    参考文献:

    1,  http://www.cnblogs.com/ooooevan/p/5816207.html

    2,http://m.blog.csdn.net/Harrytsz/article/details/63693675

    3,http://www.cnblogs.com/ooooevan/p/5823598.html

    4,https://ptteng.github.io/PPT/PPT-java/JAVA-task2-Spring%20AOP.html#/16

    5,https://ptteng.github.io/PPT/PPT-java/Java-task3%20Spring%20AOP.html#/


    更多讨论:

    AOP的两种代理模式


    今天的分享就到这里啦,刚学没多久,水平不够,欢迎大家指正,拍砖~

    PPT戳这里

    视频戳这里

    我的邀请码:15686104,或者你可以直接点击此链接http://www.jnshu.com/login/1/15686104

    相关文章

      网友评论

        本文标题:Spring Aop

        本文链接:https://www.haomeiwen.com/subject/dgfmmxtx.html