1、自定义

注解:我们自定义一个自己的注解,用于标识需要切入的方法
切面:配置一个切面,@Around(“@annotation(abc)”)标识所有标识了我们配置的注解的方法都做一个环绕切入,因为我们在业务处理中可能需要用到登录的用户信息,因此需要在切面中把从数据库中拿到的用户信息传入到Controller,而环绕切入可以修改Controller中方法的参数,因此使用@Around环绕切入
自定义异常:自己定义一个比如NoLoginException之类的异常用于处理该切面中可能发生的错误
全局异常处理:再用同样的步骤配置一个发送邮件的后置切面,将异常信息发送给开发者

2、具体实现

@Around("@annotation(clk)")
public Object checkLoginBefore(ProceedingJoinPoint joinPoint, CheckLogAnnotation clk) throws Throwable {
//将Userinfo传入到连接点中
Object[] args = joinPoint.getArgs();
args[0] = userInfo;//调用目标方法的同时传递参数
Object result = joinPoint.proceed(args);
return result;
}

使用注解来开发登录检查的切面功能相关推荐

  1. SPRING注解驱动开发-雷神课程超详细笔记

    SPRING注解驱动开发-雷神课程超详细笔记 时间:2021-03-21 2022-04-06更新:最近翻起一年多前写的笔记复习,还是收获颇多,很多当时无法理解的知识现在慢慢能理解了,可能是工作一年的 ...

  2. android 常用注解,Android 开发小工具之:注解 Annotation

    Android Support 包之一的 support-annotations是通过静态编译检测来提高代码质量的一个注解工具.里面包含了 Android 开发中常用的代码检测注解,帮助开发者提高代码 ...

  3. OA系统八:用户登录一:基于LayUI框架开发登录页;

    本篇博客就需要明白三点: (1)前端的东西,贵在[没事多试试]:多试试,看看效果,反复多次,总能看到希望的效果啦.没什么意思,没必要每个细节都深记:在实际中遇到一个业务的时候,多看官方文档的例子,多试 ...

  4. Spring注解驱动开发第26讲——总有人让我给他讲讲@EnableAspectJAutoProxy注解

    @EnableAspectJAutoProxy注解 在配置类上添加@EnableAspectJAutoProxy注解,便能够开启注解版的AOP功能.也就是说,如果要使注解版的AOP功能起作用的话,那么 ...

  5. 【编程不良人】快速入门Spring学习笔记08---事务属性、Spring整合Structs2框架(SM)、Spring整合Mybatis+Struts2(SSM)、Spring注解、SSM注解式开发

    1. 事务属性 1.1 事务传播属性 配套视频:[编程不良人]快速入门Spring,SpringBoot.SpringCloud学不好完全是因为Spring没有掌握!_哔哩哔哩_bilibili # ...

  6. Shiro授权--注解式开发

    目录 一.授权角色,权限 UserMapper.xml 添加查询方法 UserMapper UserBiz UserBizImpl MyRealm  重新MyRealm 编写授权方法 配置文件  ap ...

  7. spring注解驱动开发-5 Spring AOP实现

    Spring AOP实现 前言 AOP案例实现 1.编写目标类 2.编写切面类 3.编写配置类 4.编写测试类 end... 前言 AOP为Aspect Oriented Programming的缩写 ...

  8. spring注解驱动开发-6 Spring AOP实现原理

    Spring AOP实现原理 前言 1.@EnableAspectJAutoProxy注解原理 2.AnnotationAwareAspectJAutoProxyCreator 分析 1.分析前工作, ...

  9. Spring自定义注解驱动开发使用及源码分析

    目录 前言 注解驱动开发使用 需求 代码实现 测试效果 源码分析 BeanDefinitionRegistryPostProcessor接口 解析BeanDefinition 处理Bean上配置的注解 ...

最新文章

  1. matplotlib可视化基本散点图、在图像指定区域绘制方框(Draw Rectangle)
  2. 16款优秀的Vue UI组件库推荐
  3. netcore读取json文件_.Net Core如何读取Json配置文件
  4. [51单片机] EEPROM 24c02 [I2C代码封装-保存实现流水灯]
  5. 如何动态创建asp.net 用户控件
  6. java 中的scanner_java 中的Scanner
  7. mysql 删除 like_MySQL 定时删除数据
  8. OSPFv3中LSA详解(二)——Router LSA详解
  9. Xubantu安装google 输入法以及You‘re currently running Fcitx with GUI, but fcitx-configtool couldn‘t be found
  10. Facebook 应用开发认证和授权登录流程
  11. TSC2046EIPWR 德州TI 具有低压数字 I/O 和扩展 ESD 保护的 4 线触摸屏控制器
  12. FTP显示文件的修改时间与实际时间不一致
  13. rxjava背压_关于RxJava背压
  14. MySQL数据库存储过程讲解与实例
  15. 苹果手机密码设置在哪里_sim卡密码设置在哪里-sim卡密码设置介绍
  16. Redis 设计与实现——读书笔记
  17. 借鉴FCoin商业模式,写了一份白皮书去参赛
  18. Jenkins+Jmeter+Gitlab+Ant接口自动化持续集成构建(环境搭建配置)
  19. 北京工业计算机英语口语复试,北京工业大学复试回忆
  20. 读取Excel表格内容转为Sql when then语句

热门文章

  1. 祭奠逝者一支香,丧钟为所有生者而鸣
  2. spark算子详细介绍(v、k-v、vv类型)
  3. 联想M490原装Win8系统改Win7系统的血泪史
  4. Python+爬虫技术获取斗鱼直播图片(整理)
  5. 46. 孩子们的游戏-圆圈中最后剩下的数字
  6. 把你心中的女神娶回家(一) --有关婚姻的误读暨片头注释(上)
  7. 盈米基金如何实现基金实时评价的百倍提速?
  8. 2020移动apn接入点哪个快_手机资讯:5G 网络和现在 iPhone 使用的 Wi-Fi 有什么区别速度会更快吗...
  9. 嵌入式系统自动化测试工具
  10. Redux的核心知识