注解之概念的理解

@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自带的。具体意思,就是说这个类是个组件级别的注解,

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





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值