基于Spring的AspectJ对AOP的实现
2018-03-16 08:59
477 查看
一、基本概念:
AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。切入点表达式(用于指定切入点):execution(),里面包含:访问权限、返回值类型、权限定性类名(接口名)、方法名、抛出异常、参数列表。其中返回值类型、方法名必须要有。二、环境搭建:
1、导包:Spring与AspectJ整合的Jar包AspectJ的核心Jar包
AOP联盟的Jar包
Spring对AOP实现J的ar包
以及Spring基础包
2、为配置文件添加约束:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><!-- bean definitions here -->
三、基于注解的AspectJ:
首先在类名前添加@Aspect标签,告诉系统这个类是个切面类。切面注解1、前置通知:
前置通知
任何通知都可以JoinPoint获取连接点参数。2、后置通知:
后置通知可以获取执行结果,但不能该结果。3、环绕通知:
4、异常通知:
如果是自定义异常对象,我们将对象名把Exception替换就行,可以有多个存在。5、最终通知:最终通知就是无论有无异常都会执行。
6、定义切入点:定义切入点是为了解决代码冗余问题。
7、配置文件:
8、测试类:
9、执行结果:
四、基于XML的AspectJ:
其他不变,我们只将切面类的全部注解删掉。配置
结果
相关文章推荐
- Spring AOP的实现机制(三)---@AspectJ形式的Spring AOP和基于Schema的AOP
- Spring Aop(二)——基于Aspectj注解的Aop简单实现
- JAVAWEB开发之Spring详解之——AOP底层剖析(基于JDK和cglib)、Spring中的AOP以及基于AspectJ的AOP实现、Spring的JDBCTemplate详解
- Spring_Spring与AOP_AspectJ基于注解的AOP实现
- Spring_Spring与AOP_AspectJ基于XML的实现
- Spring基础学习(九)——基于AspectJ的两种AOP实现方式
- 【spring】基于AspectJ的AOP
- Spring学习-21:Spring的AOP:基于AspectJ的注解开发
- Spring学习-22:Spring的AOP:基于AspectJ的XML配置方式开发
- 【第六章】 AOP 之 6.4 基于@AspectJ的AOP ——跟我学spring3
- 【第六章】 AOP 之 6.4 基于@AspectJ的AOP ——跟我学spring3
- Spring 整合 aspectj 框架实现的 aop
- 学习《spring 3.x企业应用开发实战》之基于@AspectJ和Schema的AOP
- Spring Aop之AspectJ注解配置实现日志管理
- 【Spring】——AOP实现原理(基于JDK和CGLIB)
- [原创]java WEB学习笔记108:Spring学习---基于配置文件的形式实现AOP
- Spring AOP技术(基于AspectJ)的Annotation开发
- Spring笔记之六:AOP基于@AspectJ配置切面
- Spring整合aspectj框架实现的aop
- AOP 之 6.4 基于@AspectJ的AOP ——跟我学spring3