Java注解Annotation与自定义注解详解
Java注解Annotation与自定义注解详解 Java注解(Annotation)是一种元数据,提供了关于程序元素(如类、方法、字段等)的补充信息,能够被Java虚拟机(JVM)和其他Java工具读取。Java注解可以分为两类:预定义注解和自定义注解。预定义注解是Java提供的基本注解,如@Override、@Deprecated、@SuppressWarnings等,而自定义注解则是用户根据需要自己定义的注解。 预定义注解: 1. @Override:用于标识该方法继承自超类,当父类的方法被删除或修改了,编译器会提示错误信息。 2. @Deprecated:表示该类或者该方法已经不推荐使用,已经过期了,如果用户还是要使用,会生成编译的警告信息。 3. @SuppressWarnings:用于忽略的编译器警告信息。 4. Junit测试:@Test 5. Spring的一些注解:@Controller、@RequestMapping、@RequestParam、@ResponseBody、@Service、@Component、@Repository、@Resource、@Autowire 6. Java验证的注解:@NotNull、@Email 自定义注解: Java注解基本知识: 1. Java注解数据类型:注解是写在.java文件中,使用@interface作为关键字,所以注解也是Java的一种数据类型,从广泛的定义来说,Class、Interface、Enum、Annotation都属于Class类型。 2. Java元注解:元注解在创建注解的时候,需要使用一些注解来描述自己创建的注解,就是写在@interface上面的那些注解,这些注解被称为元注解,如在Override中看到的@Target、@Retention等。 元注解: 1. @Documented:用于标记在生成javadoc时是否将注解包含进去,可以看到这个注解和@Override一样,注解中空空如也,什么东西都没有。 2. @Target:用于定义注解可以在什么地方使用,默认可以在任何地方使用,也可以指定使用的范围,开发中将注解用在类上(如@Controller)、字段上(如@Autowire)、方法上(如@RequestMapping)、方法的参数上(如@RequestParam)等比较常见。 3. ElementType:枚举类型,用于指定注解可以应用于哪些元素,如TYPE、FIELD、METHOD、PARAMETER、CONSTRUCTOR、LOCAL_VARIABLE、ANNOTATION_TYPE、PACKAGE等。 如何自定义注解: 1. 使用@interface关键字定义注解。 2. 使用@Target注解指定注解可以应用于哪些元素。 3. 使用@Retention注解指定注解的生命周期。 Java注解的应用场景: 1. 代码验证:使用注解来验证代码的正确性,如@NotNull、@Email等。 2. 框架集成:使用注解来集成框架,如Spring的@Controller、@RequestMapping等。 3. 代码生成:使用注解来生成代码,如Javadoc等。 4.AspectJ:使用注解来实现aspect-oriented programming(AOP)。 Java注解是一种功能强大且灵活的机制,能够提供关于程序元素的补充信息,并且可以根据需要自定义注解以满足特定的需求。
- 粉丝: 4
- 资源: 900
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助