aop实现切入并获取请求头
在业务中要通过消息头中的某个信息然后在redis中获取用户的id 然后打算用aop在不影响原来代码的逻辑实现
// 修饰符 返回类型 类路径(可以定义到包或者类) 方法(参数) @Pointcut("execution(public * com.jianhe.tech.services.impl.StockInRecordsMorowaliServiceImpl.save*(..))") private void stockIn() { } //这个是我自己的表达式,切入点为:public修饰,任意返回类型,这个类下save开头的方法,参数不限
因为我这个是在方法最后执行,所以用的是@After
@After(value = "stockIn() || stockOut()") public void send(JoinPoint joinPoint){ //这个对象是原来方法的一些属性 //获取request对象 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); Object[] args = joinPoint.getArgs();//拿到方法的参数 String requestURI = request.getRequestURI();//拿到请求的url //获取对象头中的这个信息 String authorization1 = request.getHeader("xxx"); //逻辑代码 }
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
跨域的解决方案:nginx