我刚接触到java的annotation这一部分,有预先定义好的@override,@deprectated和@suppressWarnings, 感觉这3个都有判断能力,可以在适当的时候,自动提示用户。
而自定义的annotation我就糊涂了:自定义一个新的annotation好像挺容易的,但感觉怎么都是些说明文字,然后就把这个新的annotation放到某个类的方法等位置,但也不会自动出现提示什么的。请问我们自定义annotation的目的是否就是要加一些说明文字,而且是不含有自动判断的?比如说@override,就可以自动判断是否出错,如出错就会报错,而自定义的annotation并不是用来干这个的?
而自定义的annotation我就糊涂了:自定义一个新的annotation好像挺容易的,但感觉怎么都是些说明文字,然后就把这个新的annotation放到某个类的方法等位置,但也不会自动出现提示什么的。请问我们自定义annotation的目的是否就是要加一些说明文字,而且是不含有自动判断的?比如说@override,就可以自动判断是否出错,如出错就会报错,而自定义的annotation并不是用来干这个的?
一般来说你自定义Annotation更多是用于在运行时获取并进行处理,如EJB3、Hibernate中的Annotation一样
因此:在定义自己的注解时,通常你要开发这些自定义注解相应的处理器的[即使是最简单的通过反射来查询(不是所有的注解都是可通过反射能查询的,要看你的注解是如何定义的)--反正总是需要一个注解处理器的]。