-
简单注解类
java@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ErasePasswordAnno { @AliasFor(attribute = "expression") String value() default "" ; String expression() default "" ; }
-
嵌套注解类
java@Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented @ErasePasswordAnno public @interface MapErasePasswordAnno { @AliasFor(annotation = ErasePasswordAnno.class, attribute = "value") String value() default "['recordList']" ; @AliasFor(annotation = ErasePasswordAnno.class, attribute = "expression") String expression() default "['recordList']" ; }
-
编写测试代码
java@Slf4j public class AliasForAnnoTest { @Test void simple() throws NoSuchMethodException { Method method = MapErasePasswordAnnoTest.class.getMethod("hello"); ErasePasswordAnno annotation = AnnotationUtils.getAnnotation(method, ErasePasswordAnno.class); Assertions.assertNotNull(annotation); log.info("annotation value : {}", annotation.value()); log.info("annotation expression : {}", annotation.value()); } @Test void complex() throws NoSuchMethodException { Method method = MapErasePasswordAnnoTest.class.getMethod("hello2"); ErasePasswordAnno annotation = AnnotatedElementUtils.findMergedAnnotation(method, ErasePasswordAnno.class); Assertions.assertNotNull(annotation); log.info("annotation value : {}", annotation.value()); log.info("annotation expression : {}", annotation.value()); } @ErasePasswordAnno("username") public void hello(){ } @MapErasePasswordAnno public void hello2(){ } }
注解Spring @AliasFor使用笔记
yicj2024-08-06 14:25
相关推荐
xdscode16 分钟前
SpringBoot ThreadLocal 全局动态变量设置lifallen19 分钟前
Paimon 原子提交实现丶小鱼丶26 分钟前
链表算法之【合并两个有序链表】张先shen1 小时前
Elasticsearch RESTful API入门:全文搜索实战(Java版)天河归来2 小时前
springboot框架redis开启管道批量写入数据合作小小程序员小小店2 小时前
web网页,在线%食谱推荐系统%分析系统demo,基于vscode,uniapp,vue,java,jdk,springboot,mysql数据库张先shen2 小时前
Elasticsearch RESTful API入门:全文搜索实战codervibe2 小时前
如何用 Spring Security 构建无状态权限控制系统(含角色菜单控制)codervibe2 小时前
项目中如何用策略模式实现多角色登录解耦?(附实战代码)TCChzp2 小时前
synchronized全链路解析:从字节码到JVM内核的锁实现与升级策略