IT序号网

注解之概念的理解

wyy 2021年06月11日 编程语言 293 0

@Target,@Retention,@Documented,
上面这集个注解是J,ava自带的,从1.5版本开始有的
ElementType,RetentionPolicy,也是J,ava的内部类。
下面简单标记下各个都是干嘛的:

/** 
 * @Target能标注在注解类型上 
 *    ElementType 
 *       TYPE  
 *          类和接口 
 *       FIELD 
 *          属性 
 *       METHOD 
 *          方法 
 *       PARAMETER 
 *          方法中的参数 
 *       CONSTRUCTOR 
 *          构造器 
 *       ANNOTATION_TYPE 
 *          注解类型 
 *       PACKAGE 
 *          包 
 *   指明了当前的注解类能标注在类的哪些部位 
 *   @Target({ElementType.TYPE,ElementType.METHOD}) 
 *      说明这个被标注的注解,既可以标注在类上也可以标注在方法上 
 */ 
@Target(ElementType.TYPE) 
/** 
 * 是否让@Description这个注解出现在帮助文档中 
 */ 
@Documented 
/** 
 * @Retention 
 *    说明@Description注解的作用域 
 *      RetentionPolicy.SOURCE 
 *        @Description这个注解在源文件中起作用 
 *      RetentionPolicy.CLASS 
 *         @Description这个注解即在源文件中起作用又在class文件中起作用 
 		RetentionPolicy.RUNTIME 
 		   @Description在源文件、class文件、运行的过程中都起作用 
 */ 
@Retention(RetentionPolicy.RUNTIME) 
public @interface Description { 
	String value();//属性 
}

下面放个s,pring MVC的controler的注解类如下所示:

@Target({ElementType.TYPE}) 
@Retention(RetentionPolicy.RUNTIME) 
@Documented 
@Component 
public @interface Controller { 
 
	/** 
	 * The value may indicate a suggestion for a logical component name, 
	 * to be turned into a Spring bean in case of an autodetected component. 
	 * @return the suggested component name, if any 
	 */ 
	String value() default ""; 
 
}


其中@Component注解是属于springframework包里面的一个注解,其他的几个都是 Java自带的。具体意思,就是说这个类是个组件级别的注解,

至于组件是什么东西,后话啦。






评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!