Open techiall opened 5 years ago
使用 @interface 就可以自定义注解,Java 也给我们提供了一些元注解。
在 spring boot 中可以利用 aop (面向侧面的程序设计 aspect-oriented programming)简化处理自定义注解。spring boot 使用 aop 需要导入如下依赖。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
自定义注解使用如下
@Target({ ElementType.PARAMETER, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Log {}
@Target
@Retention
@Documented
@Inherited
元注解作用在其他注解上时,不需要每个都使用。
标识注解的使用范围,多个范围用花括号括起来即可。
使用:@Target({ElementType.PARAMETER, ElementType.METHOD })
@Target({ElementType.PARAMETER, ElementType.METHOD })
使用了该注解,就会包含在 Javadoc 中。
使用了该注解,子类可以继承父类的注解。
一般指的是 extents,接口不算继承,只能说是实现(implement)。
extents
implement
注解的保留策略,只能选一。
使用: @Retention(RetentionPolicy.SOURCE)
@Retention(RetentionPolicy.SOURCE)
Java 自定义注解
使用 @interface 就可以自定义注解,Java 也给我们提供了一些元注解。
在 spring boot 中可以利用 aop (面向侧面的程序设计 aspect-oriented programming)简化处理自定义注解。spring boot 使用 aop 需要导入如下依赖。
自定义注解使用如下
Java 元注解
@Target
@Retention
@Documented
@Inherited
元注解作用在其他注解上时,不需要每个都使用。
@Target
标识注解的使用范围,多个范围用花括号括起来即可。
使用:
@Target({ElementType.PARAMETER, ElementType.METHOD })
@Document
使用了该注解,就会包含在 Javadoc 中。
@Inherited
使用了该注解,子类可以继承父类的注解。
一般指的是
extents
,接口不算继承,只能说是实现(implement
)。@Retention
注解的保留策略,只能选一。
使用:
@Retention(RetentionPolicy.SOURCE)
参考链接