切片(Aspect)也就是Spring AOP

实现Aspect的主要步骤:

1、在哪里切入

  。在哪个方法起作用

  。什么时候起作用

2、起作用的时候执行什么处理逻辑

下面是代码实现

/**
* 切片Aspect @Around的使用
* 1、添加 @Aspect 和@Component注解
* 2、方法是用@Around注解和传入ProceedingJoinPoint对象
* 虽然切片可以拿到是调用方法时候传过来的参数和值
* 但是....却拿不了原始的请求和响应对象了
*
*
*/
@Aspect
@Component
public class DemoAspect {
/**
* 切入点(主要是注解)
*
* 1. 哪些方法上起作用
*
* 2.在什么时候起作用
*
* 相关注解有4个
* 1.@Before 调用方法前
* 2.@After 调用方法后
* 3.@Afterth 方法抛出异常的时候
* 4.@Around 包括了before、after、afterth 所以我们一般使用around
*
*
* @Around 有专门的表达式 见官方文档 https://docs.spring.io/spring/docs/5.2.0.BUILD-SNAPSHOT/spring-framework-reference/core.html#aop-ataspectj
* 有关切入点的语法和使用
*
* 当前例子是在com.xiluo.web.controller.DemoController里面的任何方法
* 注意的是要传入ProceedingJoinPoint对象,这个对象记录了你当前拦截到的方法的信息
*/
@Around("execution(* com.xiluo.web.controller.DemoController.*(..))")
public Object handelControllerMethod(ProceedingJoinPoint point) throws Throwable {
System.out.println("aspect start "); //获取参数
Object[] args = point.getArgs(); for (Object arg : args) {
System.out.println("arg ==>" + arg);
} //去调用被拦截的方法
Object proceed = point.proceed(); return proceed;
} }

 @Around注解

详细使用见官方文档:https://docs.spring.io/spring/docs/5.2.0.BUILD-SNAPSHOT/spring-framework-reference/core.html#aop-ataspectj  

Spring Aspect 获取请求参数的更多相关文章

  1. Spring Controller 获取请求参数的几种方法

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"="application/ ...

  2. Java Spring Controller 获取请求参数的几种方法

    技术交流群:233513714  1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"=& ...

  3. Spring MVC获取请求参数的其中两张方式

    1 @RequestParam  从请求地址获取参数  例如 username=xxxx 2 @PathVariable  从请求路径获取参数  例如 /req/{123}

  4. springMVC(spring)+WebSocket案例(获取请求参数)

    开发环境(最低版本):spring 4.0+java7+tomcat7.0.47+sockjs 前端页面要引入: <script src="http://cdn.jsdelivr.ne ...

  5. spring(spring mvc)整合WebSocket案例(获取请求参数)

    开发环境(最低版本):spring 4.0+java7+tomcat7.0.47+sockjs 前端页面要引入: <script src="http://cdn.jsdelivr.ne ...

  6. 学习SpringMVC——如何获取请求参数

    @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...

  7. springMvc源码学习之:spirngMVC获取请求参数的方法2

    @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他 (@CookieValue)!她(@ModelAndView ...

  8. spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  9. 学习SpirngMVC之如何获取请求参数

    学习SpringMVC——如何获取请求参数   @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@Cooki ...

随机推荐

  1. 【Opencv】Mat基础

    1.Mat::imread() C++: Mat imread(const string& filename, int flags=1 ) filename – Name of file to ...

  2. C# 对象间的 深拷贝 实现

        以下的这个类实现了 2个含有部分字段名字相同 的对象的 赋值拷贝. public class ShallowCopyHelper     {         public static voi ...

  3. MSTAR GAMMA

    1.读取系统GAMMA值 2.在此基础上微调 3.导出Gamma.txt->导入系统.“Gamma12BIT_256.c”或者“Gamma12BIT_1024.c”. Read 微调&写 ...

  4. 蓝桥杯Log大侠(线段树单点区间更新)

    标题:Log大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力... 变换的规则是: ...

  5. Collection与Map总结

    顺序表和链表统称为线性表:顺序表一般表现为数组,如:ArrayList的实现;链表有单链表.双链表.循环链表的区分,如:LinkedArrayList由双链表+哈希表实现

  6. (六)编写基类BaseDao

    在action中继承了ActionSupport和其它一些公共属性,如selectedRow等:可能以后还会产生更多公共的内容,所以应该把这些共有的抽取出来,放入到一个基本action中,我们命名为B ...

  7. 利用JS函数制作时钟运行程序

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Sharepoint2013搜索学习笔记之创建搜索服务(二)

    第一步,进入管理中心,点击管理服务器上的服务 第二步,在服务器上选择需要承载搜索服务的服务器,并启动服务列表上的sharepoint server search 第三步,从管理中心进入管理服务应用程序 ...

  9. 【原】spring+springmvc+mybatis整合

    整合框架的代码结构: 最全约束: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&q ...

  10. sqlserver2012——INTERSECT交查询

    1. select a.成绩编号,a.分数,b.姓名 From 成绩信息 a,学生信息 b ' 一般的查询 a.成绩编号,a.分数,b.姓名 From 成绩信息 a,学生信息 b ' order a. ...