java自定义注解 && 拦截(AOP,Interceptor)

自己摘抄学习用,如果觉得有用,请进原文链接给作者点赞。

参考文章:

1. Java自定义注解_搬砖大强的博客-CSDN博客_java自定义注解

2. Springboot 拦截器(Interceptor)详解_、楽.的博客-CSDN博客_拦截器放行到指定接口

参考代码:

 GitHub - wangzhiqiang1008/common-framework

最新更新于2022.8.18

一、简介

注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。

1、元注解

元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:

  • @Target
  • @Retention
  • @Documented
  • @Inherited

下面我们看一下每个元注解的作用和相应分参数的使用说明。

2.1、@Target

表明该注解可以应用的java元素类型:


2.2、@Retention

表明该注解的生命周期

 

2.3、@Document

表明该注解标记的元素可以被Javadoc 或类似的工具文档化。

2.4、@Inherited

表明使用了@Inherited注解的注解,所标记的类的子类也会拥有这个注解。

2、自定义注解

修饰符: 访问修饰符必须为public,不写默认为pubic;

关键字: 关键字为@interface;

注解名称: 注解名称为自定义注解的名称,使用时还会用到;

注解内容: 注解中内容,对注解的描述。

3、静态拦截

3.1 自定义注解

 

3.2 数据模型使用注解

 

3.3 工厂获得时拦截

 


运行的代码

 

结果

 

4、Aspect拦截

首先要自定义注解MyAnnotation,这里不赘述了。之后编写Aspect注册切入点。

PS:如果增强方式选择around,需要主动return返回值。在这种情况下方法不是被"拦截",应该叫被"劫持"。

 

 


5、Interceptor拦截

interceptor本身是属于SpringMVC模块中的内容,更多是针对HTTP链接进行链接,他在整体框架中的位置如下图:

 

1)注册和映射

有两种注册方式,本质是一种。第一种是在spring MVC配置文件中写:

 

第二种是利用配置类:

 

2)编写Interceptor

继承HandlerInterceptorAdapter,重写preHandle、postHandle和afterCompletion方法

 

3)指定Interceptor拦截的接口

那么如何指定拦截的接口呢?假如我们有一个接口

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值