/** * 定义操作日志注解 */ @Target(ElementType.METHOD)#它表明注解使用的目标范围是方法METHOD,即该注解使用在一个方法上 @Retention(RetentionPolicy.RUNTIME)#注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在; @Documented public @interface OperateLog { /** * 顶级+一级菜单 * @return */ String module(); /** * 方法 * @return */ String methodContent(); /** * (MES,QMS) * @return */ String bigModule(); }
1. RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;
2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;
3、RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;
使用该注解:
@OperateLog(bigModule = "MES",module = "设备-保养-保养管理",methodContent = "每天通过定时任务监测并生成“保养管理”数据") @ApiOperation(value = "每天通过定时任务监测并生成“保养管理”数据", notes = "每天通过定时任务监测并生成“保养管理”数据接口") @PostMapping("generate") public BaseRespResult generate(TimedTaskParamsVo timedTaskParamsVo){}
这里注解的使用,需要在注解的属性上指定相应的内容。
标签:文件,定义,为例,保养,class,RetentionPolicy,注解,Annotation From: https://www.cnblogs.com/dangerous-11/p/17015426.html