切片(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. ACM学习历程—HDU2222 Keywords Search(字典树)

    Keywords Search Description In the modern time, Search engine came into the life of everybody like G ...

  2. 【Opencv】直方图函数 calchist()

    calchist函数需要包含头文件 #include <opencv2/imgproc/imgproc.hpp> 函数声明(三个重载 calchist函数): //! computes t ...

  3. 【C++ Primer 5th】Chapter 15

    摘要: 1. 面向对象程序设计的核心思想是数据抽象.继承和动态绑定.数据抽象将类的接口和实现分离:继承定义相似的类型并对齐相似关系建模:动态绑定,在一定程度上忽略相似类型的区别,而以统一的方式使用它们 ...

  4. redis设置密码和redis主从复制

    redis设置密码和redis主从复制 一.redis设置密码 1.Redis实用特性 安全性  主从复制(侦听器)事务处理 持久化机制 发布订阅消息 2.安全性:设置客户端连接后进行任何其他指定前需 ...

  5. AR/VR-VR-Info-Micron-Insight:虚拟现实开辟心理健康新途径

    ylbtech-AR/VR-VR-Info-Micron-Insight:虚拟现实开辟心理健康新途径 1.返回顶部 1. 虚拟现实开辟心理健康新途径 全国心理疾病联盟最近发表的一份报告揭示了惊人的统计 ...

  6. win10 ObservableCollection 排序自动收缩问题

    ObservableCollection本身是没有排序Sort功能的,不过我们可以通过冒泡排序来实现,以下是扩展功能: public static void Sort<T>(this Ob ...

  7. 【机器学习】文本分类——朴素贝叶斯Bayes

    朴素贝叶斯主要用于文本分类.文本分类常见三大算法:KNN.朴素贝叶斯.支持向量机SVM. 一.贝叶斯定理 贝叶斯公式思想:利用已知值来估计未知概率.已知某条件概率,如何得到两个事件交换后的概率,也就是 ...

  8. 3、opencv 图像显示功能

    #include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;i ...

  9. rest framework 认证

    一.简单认证示例 需求: 用户名密码正确:没有 token 则产生一个 token,有 token 则更新,返回登录成功: 若用户名或密码错误,返回错误信息. 1.models.py from dja ...

  10. .Net HttpWebRequest 爬虫核心爬取

    1 爬虫,爬虫攻防 2 下载html 3 xpath解析html,获取数据和深度抓取(和正则匹配) 4 多线程抓取 熟悉http协议 提供两个方法Post和Get public static stri ...