基础概念

  线程中的方法栈

    

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

AOP概念以及目标

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

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

AOP术语图解

       

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

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

  切面:实现嵌入的对象;

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

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

AOP原理

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

  

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

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

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

AOP使用解析(xml)

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

    Spring的AOP是基于aspectj框架的,所以在导包时需要导入aspectj的支持包

    

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

    

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

    

    注:常用的表达式

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

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

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

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

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

AOP使用解析(注解)

  1.开启aop功能扫描

    

  2.创建bean来作为切面类和切点类

    

  3.创建切面切点定义

          

这里,AOP的内容已经描述完毕,但由于spring的基础是IoC和AoP,所以之后还是会反复出现.

  

框架应用:Spring framework (二) - AOP技术的更多相关文章

  1. 框架应用:Spring framework (一) - IoC技术

    IoC概念以及目标 IoC就是让原本你自己管理的对象交由容器来进行管理,其主要的目的是松耦合. IoC发展史 既然IoC的目标是为了松耦合,那它怎么做到的? 最后目标:降低对象之间的耦合度,IoC技术 ...

  2. Spring框架的核心功能之AOP技术

     技术分析之Spring框架的核心功能之AOP技术 AOP的概述        1. 什么是AOP的技术?        * 在软件业,AOP为Aspect Oriented Programming的 ...

  3. Spring框架学习(9)AOP技术理解与使用

    内容源自:AOP技术理解与使用 一.什么是AOP? aop技术是面向切面编程思想,作为OOP(面向对象编程)的延续思想添加到企业开发中,用于弥补OOP开发过程中的缺陷而提出的编程思想. AOP底层也是 ...

  4. Spring Framework 之AOP

    Spring Framework 之AOP 目录 Spring Framework 之AOP 问题 AOP概述 AOP知识 1.连接点(Joinpoint) 2.切点(PointCut) 3.增强(A ...

  5. spring学习(二) ———— AOP之AspectJ框架的使用

    前面讲解了spring的特性之一,IOC(控制反转),因为有了IOC,所以我们都不需要自己new对象了,想要什么,spring就给什么.而今天要学习spring的第二个重点,AOP.一篇讲解不完,所以 ...

  6. Spring 框架的核心功能之AOP技术

    1. AOP 的概述 AOP, Aspect Oriented Programming, 面向切面编程; 通过预编译方式和运行期动态代理实现程序功能的统一维护的技术; AOP 采取横向抽取机制,取代了 ...

  7. Spring框架简介 Spring Framework Introduction

    Introduction The Spring Framework provides a comprehensive programming and configuration model for m ...

  8. 《Java Spring框架》Spring切面(AOP)配置详解

    1.  Spring 基本概念 AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2 ...

  9. JavaWeb_(Spring框架)认识Spring中的aop

    1.aop思想介绍(面向切面编程):将纵向重复代码,横向抽取解决,简称:横切 2.Spring中的aop:无需我们自己写动态代理的代码,spring可以将容器中管理对象生成动态代理对象,前提是我们对他 ...

随机推荐

  1. TensorFlow框架之Computational Graph详解

    1. Getting Start 1.1 import TensorFlow应用程序需要引入编程架包,才能访问TensorFlow的类.方法和符号.如下所示的方法: import tensorflow ...

  2. SpringMVC详解(五)------参数绑定

    参数绑定,简单来说就是客户端发送请求,而请求中包含一些数据,那么这些数据怎么到达 Controller ?这在实际项目开发中也是用到的最多的,那么 SpringMVC 的参数绑定是怎么实现的呢?下面我 ...

  3. VMware Workstation 12 Pro 之安装林耐斯-LinuxMint-系统

    VMware Workstation 12 Pro 之安装林耐斯-LinuxMint-系统... ---------------------- ---------------------------- ...

  4. 学习CSS记录:选择符优先级

    1.标有!important 关键字声明属性. 2.HTML中的CSS样式属性. 3.作者编辑的CSS文件模式属性. 4.用户设置的样式. 5.浏览器默认的样式. ------------------ ...

  5. SkipList跳表基本原理

    为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等. 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗 ...

  6. Web开发中常用的状态码

    在HtttpServletResponse类中有关于状态码的描述. static int SC_ACCEPTED Status code (202) indicating that a request ...

  7. HTTP协议初级入门

    Http = HyperText Transfer Protocol即超文本传输协议 HTTPS = Hyper Text Transfer Protocol over Secure Socket L ...

  8. HBuilder打包App方法

    HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.该软件既可以支持web代码编写,也可以将已经编写好的项目代码打包为手机APP. HBuilder提供的打包有云端打 ...

  9. 基于moco的mock server 简单应用 来玩玩吧

    提起mock大家应该就知道是干嘛用的了,再次再介绍一种简单的方式,基于moco的mock server.步骤很简单: 1. 首先,要下载个moco的jar0_1482402640757_moco-ru ...

  10. MySQL索引选择及规则整理

    索引选择性就是结果个数与总个数的比值. 用sql语句表示为: SELECT COUNT(*) FROM table_name WHERE column_name/SELECT COUNT(*) FRO ...