赞
踩
目录
以【记录操作日志】为例,一般在开发中为了记录用户操作,当系统出现问题时,可以追溯日志所提供详细的错误信息,帮助开发者快速定位问题的原因
最简单的方法:在每个方法中增加日志信息打印代码,来记录操作日志,但是这样重复代码也很多,也不易扩展,而且易出错
使用自定义注解就会方便很多,减少不必要的重复代码,减少非业务代码的侵入性,如果需要扩展操作用户的信息以及IP就会很方便,易于扩展和维护
- public @interface LogOperation {
- String value() default "";
- }
@Retention
指定注解的保留策略即注解在什么阶段可用,可选值有:
RetentionPolicy.SOURCE
:注解仅在源码阶段保留,编译时丢弃。RetentionPolicy.CLASS
:注解在编译时保留,但在运行时丢弃(默认值)。RetentionPolicy.RUNTIME
:注解在运行时保留,可以通过反射获取- @Retention(RetentionPolicy.RUNTIME)
- public @interface LogOperation {
- String value() default "";
- }
最常用的元注解是@Target,使用@Target可以定义Annotation能够被应用于源码的哪些位置:
类或接口:ElementType.TYPE
字段:ElementType.FIELD
方法:ElementType.METHOD
构造方法:ElementType.CONSTRUCTOR
方法参数:ElementType.PARAMETER
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。