AOP的学习

注意:不惊动原始设计

一、部署依赖

        AOP开发默认导入

        

<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.4</version></dependency>

二、具体步骤

@Aspect 告诉Spring 这个类是aop

(1)注意Pointcut后的格式

(2)注意aop(){} 是一个空的方法体,后面不加分号

@Component
@Aspect
public class MyAdvice {//4 定义切入点@Pointcut("execution(void com.itheima.dao.BookDao.update())")private void aop(){}//5绑定切入点和共性功能@Before("pt()")public void method(){System.out.println(System.currentTimeMillis());}
}

之后在SpringConfig类需要

@EnableAspectJAutoProxy
public class SpringConfig {
}

开启Spring对AOP注解驱动的支持

三、AOP的切入表达式

四、通知类型

环绕通知:

 通过ProceedingJoinPoint 对象对原始连接点进行调用

 此返回值为Object 

五、通知获取数据

  @Before("pt()")public void before(JoinPoint jp){Object[] args = jp.getArgs();System.out.println(Arrays.toString(args));System.out.println("before advice");}

 前置通知和后置通知获取方法中参数的方式一样,通过JoinPoint对象来获取即可,获取到的类型是Objtct[] 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(五)多线程编程

一、多线程简介1、操作系统下的并行执行机制(1)并行就是说多个任务同时被执行。并行分微观上的并行和宏观上的并行。(2)宏观上的并行就是从长时间段&#xff08;相对于人来说&#xff09;来看&#xff0c;多个任务是同时进行的&#xff1b;微观上的并行就是真的在并行执行。(3)…

选择题_一级造价师选择题的分值是多少

一级造价工程师考试的选择题分为单选题和多选题&#xff0c;每科单选题为60题&#xff0c;每题一分&#xff1b;多选题为20题&#xff0c;每题两分&#xff0c;总分100分。一级造价师选择题的分值一级造价工程师考试共有《建设工程造价管理》、《建设工程计价》、《建设工程技术…

前端学习(2136):使用es6模块化出现Access to script at ‘file:///... ..from origin ‘null‘ has been blocked。。。错误

为什么会跨域&#xff1f; 因为你是在本地打开的文件&#xff0c;而file协议并不支持http, data, chrome, chrome-extension, https这些协议是支持跨域请求的而当你在某盘符位置下直接打开一个网页(script标签中引入了某地的某个js文件)&#xff0c;则在浏览器地址栏呈现如下&…

2017年什么命_所谓“佛系”,真的不是什么都不做!

文 | 新宇姐姐 猫咪de生活观在这匆忙的世道中&#xff0c;人心浮躁&#xff0c;急不可耐。这喧嚣的世界车水马龙&#xff0c;我们为了生活&#xff0c;三点一线的忙碌奔波。城市很繁华&#xff0c;容易让人迷失&#xff1b;尘世很奔波&#xff0c;容易让人疲倦。不由得让我们想…

洛谷 P3392 涂国旗

P3392 涂国旗 题目描述 某国法律规定&#xff0c;只要一个由N*M个小方块组成的旗帜符合如下规则&#xff0c;就是合法的国旗。&#xff08;毛熊&#xff1a;阿嚏——&#xff09; 从最上方若干行&#xff08;>1&#xff09;的格子全部是白色的。 接下来若干行&#xff08;&…

flask 接口 让别人能访问_flask搭建一个前后端分离的系统

我们通常说三端&#xff0c;pc端&#xff0c;android端和ios端。如果前后端不分离&#xff0c;相当是要做三套系统。如果前后端分离的话&#xff0c;可以共用一个后端&#xff0c;前端各自做自己的&#xff0c;不用管后端。前后端不分离在前后端不分离的应用模式中&#xff0c;…

SpringMVC下5中参数类型传递

1、普通参数 //普通参数:请求参数名与形参名不同RequestMapping("/commonParamDifferentName")ResponseBodypublic String commonParamDifferentName(RequestParam("name") String username, int age){System.out.println("普通参数传递:username:&qu…

centos 没有nmtui命令_Linux free 命令

在Linux/Unix 系统上&#xff0c;free是一个很受系统管理员欢迎的命令&#xff0c;它是一个功能强大的工具&#xff0c;他能以一种易读的方式把内存使用情况展示出来free 展示了系统中空闲和已经使用了的物理内存、交换内存以及内核的缓冲区和页面缓存&#xff0c;所有展示的信…

laravel 队列学习

s d f大撒发转载于:https://www.cnblogs.com/toyanglei/p/5911707.html

spring中注解来创建bean

一、 核心配置文件中的组件来扫描对应包下面的所有类来匹配。 当我们使用ApplicationContext实例化的对象调用getBean函数获取bean的时候&#xff0c;内部时根据Component内的值来确定创建哪个对象&#xff1a; Component中的值就类似之前bean配置中id的作用一样。 二、纯注解…

django设置超级管理员_Django的简介与安装

Django的简介与安装Django 是用 Python 开发的一个免费开源的 Web 框架&#xff0c;可以用来快速搭建优雅的高性能网站。它采用的是“MVC”的框架模式&#xff0c;即模型 M、视图 V 和控制器 C。 Django 最大的特色&#xff0c;在于将网页和数据库中复杂的关系&#xff0c;转化…

操作目录下的文件或目录

1、显示/var目录下所有以l开头&#xff0c;以一个小字母结尾&#xff0c;且中间出现一位数字的文件或目录&#xff1b; # ls /var/l*[[:digit:]]*[[:lower:]] 2、显示/etc目录下&#xff0c;以任意一位数字开头&#xff0c;且以非数字结尾的文件或目录&#xff1b; …

SpringMVC的准备工作

一、 先通过Maven创建一个webapp项目 创建完成之后在pom文件中设置一些基本的信息&#xff1a; 1、打包方式 <packaging>war</packaging> 以war包的形式打包 2、相关依赖 现阶段只有3个&#xff1a;SpringMVC、thymeleaf与Spring整合、ServletAPI <dependencie…

postman安装报错 无法定位_接口测试工具postman安装及使用

目前的postman插件如果想正常使用&#xff0c;必须安装Postman Interceptor插件&#xff0c;这样才能直接使用chrome浏览器的cookie等信息&#xff0c;否则postman是无法完成老版本的功能的。直接使用chrome appstore安装是没有问题的&#xff0c;但是如果是离线安装&#xff0…

SpringMVC之注解RequestMapping

一、RequestMaapping的基本介绍 RequestMaapping的功能就是将请求和处理请求和处理请求的控制器关联起来&#xff0c;建立映射关系&#xff0c;当DispathcerServlet接收到请求&#xff0c;会从Controller中找对应的方法来处理该请求。 eg: Controller RequestMapping("/…