码迷,mamicode.com
首页 > 编程语言 > 详细

框架应用:Spring framework - AOP技术

时间:2017-09-11 13:12:16      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:bean   ges   man   应用   修改   strong   连接数   日志   增强   

基础概念 

  线程中的方法栈

    技术分享

 

    java程序虚拟机启动时会载入程序码,虚拟机会为每一条正在运行的线程生成一个方法调用栈,线程以方法运行为执行单位.

AOP概念以及目标

  AOP是面向切面编程,其实就是在不修改代码模块的情况下在你的模块中嵌入一些其他的代码.

  目标是统一模块,从而抽取并消除一些散落在系统中块状代码(非逻辑业务).

AOP术语图解

  技术分享     

  连接点:就是所有线程的方法,可以作为嵌入代码的候选对象;

  切入点:最后被选为嵌入代码的对象;

  切面:实现嵌入的对象;

  增强通知:嵌入的内容(一些被定义的方法,包括前置通知,后置通知,异常通知,最终通知,环绕通知)

  织入:嵌入代码的整个过程被叫做织入

AOP原理

   AOP的出现是有了在业务代码中嵌入一些非业务代码,如日志通知,如连接数据库等事务.

  技术分享

  1.修改源代码,过度耦合无关业务的代码;

  2.无论是使用继承方式还是接口实现方式添加无关业务的代码,都会使对象间过度耦合;

  3.使用动态代理模式来实现AOP,让容器去帮我们进行代码嵌入.

AOP使用解析

  1.导入jar包(包括core包和aop包)

    技术分享

  2.创建spring核心配置文件,导入aop约束

    技术分享

  3.配置bean对象,注入至容器中,并配置切面与切点

    技术分享

    注:常用的表达式

    execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)

    (1execution(* com.harry.aop.service.UserService.add(..))

    (2execution(* com.harry.aop.service.UserServic.*(..))

    (3execution(* *.*(..))

    (4 匹配所有save开头的方法 execution(* save*(..))

 

 

 

 

  

框架应用:Spring framework - AOP技术

标签:bean   ges   man   应用   修改   strong   连接数   日志   增强   

原文地址:http://www.cnblogs.com/CARPE-DIEM-wu/p/7502883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!