Java中常见的注解

Java中常见的注解
1、JDK自带的注解@Override  @Deprecated  @Suppvisewarnings
常见第三方注解
Spring:@Autowired  @Service  @Repository
Mybatis:@InsertProvider  @UpdateProvider  @Options

注解的分类:
按照运行机制分:
    源码注解:注解只在源码中存在,编译成.class文件就不存在了;
     编译时注解:注解在源码和.class文件中都存在(JDK自带的三个注解(@Override  @Deprecated  @Suppvisewarnings)属于编译时注解,只在编译时起作用)
    运行时注解:在运行阶段还起作用,甚至会影响运行逻辑的注解(@Autowired)
按照来源分:
    来自JDK自带的注解
    第三方注解
    我们自定义的注解

源注解:注解的注解


package com.ann.自定义注解;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD,ElementType.TYPE})//注解作用范围:方法、类接口
@Retention(RetentionPolicy.RUNTIME)//注解生命周期:SOURCE CLASS RUNTIME
@Inherited//(标识性的原注解)允许子类继承
@Documented//生成javadoc时会包含注解
//使用@integrface关键字定义注解,表示定义的不是类也不接口
public @interface Description {
	//成员以无参数无异常方式声明
	//成员类型是受限的,合法的类型包括原始类型以及String Class Annotation Enumeration
	//大部分自定义的注解用原始类型和String就足够了
	//如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)
	//注解类可以没有成员,没有成员的注解称为标识注解
	String desc();
	
	String author();
	
	int age() default 18;//可以用default为成员制定一个默认值
}


你可能感兴趣的:(Java)