springAOP学习笔记
目录
- 基础
- 引用
- AOP方法
- 使用
- xml配置
- 注解配置
基础
什么是aop?
把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的
基础上,对我们的已有方法进行增强。
引用
``` org.aspectjaspectjweaver1.8.13 ```
AOP方法
import org.aspectj.lang.ProceedingJoinPoint;public class AopMethod {public void before() {System.out.println("前置通知");}public void afterReturning() {System.out.println("后置通知");}public void afterThrowing() {System.out.println("异常通知");}/*** 环绕通知需要环绕通知的前置通知执行完成后,让原有的方法执行,再执行环绕通知的后置通知*/public void around(ProceedingJoinPoint joinPoint) throws Throwable {System.out.println("环绕通知-前置");//执行原来的方法joinPoint.proceed();System.out.println("环绕通知-后置");}public void after() {System.out.println("最终通知");}
}
使用
xml配置
applicationContext-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"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 id="ceshi" class="com.alvin.service.Ceshi"/><bean id="aopmethod" class="com.alvin.aop.AopMethod"/><aop:config><aop:aspect ref="aopmethod"><aop:before method="before" pointcut="execution(* com.alvin.service.*.m*(..))"/><aop:after-returning method="afterReturning" pointcut="execution(* com.alvin.service.*.m*(..))"/><aop:around method="around" pointcut="execution(* com.alvin.service.*.m*(..))"/><aop:after method="after" pointcut="execution(* com.alvin.service.*.m*(..))"/></aop:aspect></aop:config>
</beans>
注解配置
- 开启注解
springmvc.xml
<!--配置开启AOP的注解使用@EnableAspectJAutoProxy-->
<aop:aspectj-autoproxy/>
- 配置AOP
@Component
@Aspect
public class AopMethod {@Before("execution(* com.alvin.service.Ceshi.method())")public void before() {System.out.println("前置通知");}}
或者配置config
``` @Configuration @ComponentScan("com.alvin") @Import(JdbcConfig.class) @EnableAspectJAutoProxy public class SpringConfig { } ```
转载于:https://www.cnblogs.com/birdofparadise/p/10012297.html
springAOP学习笔记相关推荐
- springAop学习笔记(二,springboot进本配置和使用)
配置 1.引入aop jar包 2.在主类上面加@EnableAspectJAutoProxy 这里要说一句:市面上常用有两种aop实现方式第一种是springaop,第二种是AspectJ,但是原始 ...
- SpringAOP学习笔记(一)——目标对象和代理对象
一.目标对象和代理对象 目标对象:在SpringAOP被增强的对象 代理对象:通过aop中对目标对象进行增强,加入代理逻辑的而产生的对象 public interface Service {void ...
- SpringMVC框架--学习笔记(上)
1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...
- mybatis框架--学习笔记(下)
上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...
- [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP
上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...
- Spring源码学习笔记:起源发展和核心模块主要职能
1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 1.Spring 的前世今生 早在 2007 年,一个基于 Java语言的开源框架正式发布,取了一个非常有活力 ...
- Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 1.GOF 23总设计模式归纳 分类 设计模式 创建型 工厂方法模式(Factory Method).抽象工厂 ...
- Spring框架学习笔记,超详细!!(4)
Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...
- Spring 学习笔记----->AOP
Spring 学习笔记----->AOP 代理模式 为什么学代理模式? 因为这就是Spring Aop的底层 代理模式的分类: 静态代理 动态代理 静态代理 生活用的例子: 房东 public ...
- Spring框架学习笔记(三)(AOP,事务管理)
Spring框架学习笔记(三) 九.AOP 9.1 AOP的注解配置 (1) 新建计算器核心功能(模拟:不能在改动核心代码) (2) 建立一个普通的Java类写增强代码(面向切面编程),使用Sprin ...
最新文章
- 合成孔径雷达基于RDA算法的点目标仿真
- java执行命令无返回_java运行cmd命令并获取返回信息的问题!!怎么不行了?
- Go语言学习资料整理
- 408考研数据结构复习-时间复杂度与空间复杂度-附统考真题
- vs2008下如何部署arcengine开发的程序
- af_netlink_Linux Netlink通信机制详解(上)
- 移动端上拉加载下拉刷新插件-mescroll.js插件
- 苹果手机设置导入喜欢的音乐作为铃声
- 语法练习——动名词专项训练
- Java开发的医院门诊挂号系统
- CVPR2017-如何在无标签数据集上训练模型
- 使用appfox工具测试登录有图片验证码接口的问题
- java tcc事务 例子_分布式事务之TCC事务模型
- 群晖 NAS DS218j的优秀与缺憾
- Scala List操作笔记 --备忘(9.9总结)
- 云服务器CentOS永久更改主机名
- 怎么查看电脑是多少位的
- Pygame实战:利用Python实现智能五子棋,实现之后发现我玩不赢它。
- char **和char* []区别,char *和char []区别
- 【从零开始的Java开发】1-4-3 多态:概念、实现、向上转型、向下转型、instanceof、类型转换、抽象类、抽象方法
热门文章
- C1083: 无法打开包括文件: “stdafx.h”: No such file or directory
- mysql 存储过程 调度_mysql 存储过程和事件调度
- 同质化代币和非同质化代币 区别对比
- 计算机网络第三版周舸答案,计算机网络技术基础第3版周舸第一章节计算机网络基础知识课件教学.ppt...
- php如何删除zip文件内容,删除php中的zip文件夹
- mysql备份 php_详解MYSQL的备份还原(PHP实现)
- # 检测中英输入法_奇怪的知识点增加了 手机输入法还能做更多
- Centos7安装 mariadb 最新版
- window 下 go lang 环境变量一键批处理设置
- 日志框架简述、slf4j 日志框架概述,slf4j + log4j 1.X 日志组合