Java四大注解

java四大元注解(自定义注解须知)

四大注解

1. @Target
2. @Retention
3. @Documented
4. @Inherited

@Target

@Target 注解:指明修饰的这个注解的使用范围,即被描述的注解可用在哪里。
例:@Target({ElementType.METHOD}):

ElementType 的取值:

-  TYPE:类,接口或者枚举;
-  FIELD:域,包含枚举常量;
-  METHOD:方法;
-  PARAMETER:参数;
-  CONSTRUCTOR:构造方法;
-  LOCAL_VARIABLE:局部变量;
-  ANNOTATION_TYPE:注解类型;
-  PACKAGE:包;

@Retention

@Retention 注解:指明修饰的注解的生存周期,即会保留到哪个阶段。
例:@Retention(RetentionPolicy.RUNTIME)

RetentionPolicy 的取值:

-  SOURCE:源码级别保留,编译后即丢弃。
-  CLASS:编译级别保留,编译后的class文件中存在,在jvm运行时丢弃,这是默认值。
-  RUNTIME:运行级别保留,编译后的class文件中存在,在jvm运行时保留,可以被反射调用。

​​​​​​​

@Documented

@Documented 注解:指明修饰的注解,可以被例如javadoc此类的工具文档化,只负责标记,没有成员取值。

@Inherited

@Inherited注解:表示允许子类继承父类中的注解。

另外:@interface

想要自定义一个注解还需要 :
@interface:声明一个注解,方法名对应参数名,返回值类型对应参数类型。

自定义注解案例

使用案例:

/**
	 * @author zmn
	 * Date 2019/12/19
	 * Time 09:29
	 */
	@Target({ElementType.METHOD})
	@Retention(RetentionPolicy.RUNTIME)
	@Inherited
	@Documented
	public @interface DataSourceDefiner {
		String value() default "write";
	}

本人是Java初学菜鸟,文章内容不成熟,还望给看官大佬海涵指导!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值