`

Java中注解学习系列教程-2

 
阅读更多

在上一篇文章中,我们讲解了:Java中注解的定义、JDK中内置注解、第三方注解。

本文是注解系列教程中的第二篇。来看看今天主要内容:

0e5bfb282785e6d50be398c29a4d9267.png

1:注解的分类

2:元注解说明

3:自定义注解声明

一:注解的分类

c03d16d65e241c90e669f077a650bb64.png

注解根据运行机制、来源、功能来分:

1.1:按照运行机制来分,即时注解存在于程序的哪个阶段

e0c7d7da2e69a56219d73cd8be1c4454.png

源码注解(source):在源码中存在的。

如:lombak的@data注解:

5bea68c9466087e5e29d6a07d6243893.png

编译注解(class):编译期。既是在源码和class中都有的。

JDK自带的三个注解(@Override(重写、覆盖)、@Deprecated(废弃的,过时的)、@Suppvisewarnings(压缩警告))都是编译期的注解

举例: override

0362f1164684a55d250ef62a5774a78a.png

运行是注解(runtime):在运行阶段任然起作用的,甚至会影响运行逻辑。

如:spring 的autowired注解:

f39084e8c5e64a0834714f102eca9160.png1.2:按照来源来区分,既是注解从哪里来的

按照来源来区分分为:JDK自带的注解、第三方注解、自定义注解

如下图:

e53b73770958773c2e330afeeb8c1007.png

1.3:按照功能来区分:

按照功能来区分,可以分为:元注解和非元注解。如下图:

afafe3546c589b9575096a6827d8b692.png

二:元注解说明

2.1:什么是元注解?

元注解是指注解的注解。JAVA中元注解主要包括以下四个:

7ac1431ceef05b2463a25ba3da4a9cd7.png

2.2:@Target

target注解的作用:标注注解的作用域。如果有多个作用域用英文逗号进行分割

target注解作用域有哪些?

构造器、字段、局部变量、方法、包、参数、接口。具体如下图:

f04c44ad40c7473701ac705c2bbfd82d.png

e6e365e0dbc15a00bebd6df6df9def1a.png

2.3:@Retention

retention的作用:注解的生命周期。

注解生命周期有哪些呢?

只在源码显示的souce、编译期的class、运行时候存在的runtime。如下图:

b19e1e745582b64fb7031b7e68f3e3c3.png

生命周期大小:

4dc0e0c220fc15304fe3ab2bb5460028.png

2.4:@Inherited

inherite:标识性的元注解。标识当前的注解可以由子注解继承

de34f5ca04abc46443777f3f189cce47.png

2.5:@Documented

documented:在生成文档的时候,会被包含

cbb4bfcc5975de05f4f84e3ebd1f28b6.png

三:自定义注解的写法:

@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented()
public @interface MyAnnotation1 {

    public abstract String value();

}

9c58e2d4fa3ef4e29cf4a65c78ab272d.png

声明:本文是由凯哥(凯哥Java)发布的Java注解学习系列教程第二篇。未经允许,不得转载

本文出处:http://www.kaigejava.com/article/detail/440

凯哥博客:www.kaigejava.com

凯哥公众号:凯哥Java(kaigejava)

 

分享到:
评论

相关推荐

    java私塾跟我学系列-java篇

    Java私塾跟我学系列是为Java初学者精心编纂的一套教程,旨在系统地介绍Java编程语言的基础知识和实际应用。这个系列涵盖了从语言基础到高级特性的全面内容,是编程爱好者入门和进阶的理想资源。 Java是一种面向对象...

    java se6 全方位学习 ---源代码及附录

    这个压缩包中的“javase6全方位学习”很可能包含了一系列的示例代码、教程文档和可能的实战项目,通过这些资源,你可以深入理解Java SE 6的各种特性和用法。对于学习Java SE 6的开发者而言,这样的资源是极其宝贵的...

    Java程序设计实战案例教程-PPT课件.rar

    以上这些知识点构成了Java程序设计的核心内容,"Java程序设计实战案例教程-PPT课件.rar"中的PPT应该会通过具体的案例和练习,帮助学习者深入理解和实践这些概念,从而提高Java编程技能。在学习过程中,结合实际项目...

    Java学习教程-基础入门及提高.doc

    ### Java学习教程-基础入门及提高 #### 一、引言与编程概念 Java作为一种强大的编程语言,为我们提供了一种高效、灵活的方式来表达思想和技术解决方案。与其他编程语言不同的是,Java不仅仅是一系列特性的简单集合...

    Spring高级之注解驱动开发视频教程

    系统的学习Spring框架中各个部分,掌握Spring中一些高级特性的使用。 l Spring IoC n 设计模式-工厂模式 n 基础应用-入门案例 n 基础应用-常用注解使用场景介绍及入门 n 高级特性-自定义BeanNameGenerator n 高级...

    Struts2注解配置教程

    Struts2注解配置教程是指导开发者如何使用Java注解替代传统的XML配置来配置Struts2框架的一个教程系列。本文档主要涵盖了Struts2中注解配置的一些基本知识点以及如何通过注解实现零配置。 ### 注解配置之前 在介绍...

    51CTO学院-跟老谭学Java8系列视频教程第三季Java8高级语言特性.docx

    通过《跟老谭学Java 8》系列视频教程的第三季学习,开发者不仅能够深入理解Java 8中的高级语言特性,还能进一步掌握面向对象编程的核心概念和技术。这些知识将有助于他们在实际项目开发中更加高效地解决问题,并为...

    Java实训教程 Java软件开发实战 Java开发框架介绍 SpringMVC_5_常用注解 共22页.pptx

    ### Java实训教程知识点详解 #### 一、SpringMVC概述与环境搭建 ...以上是关于SpringMVC系列教程的主要知识点概述,通过学习这些内容,开发者可以更好地掌握SpringMVC框架的使用技巧,从而高效地进行Web应用开发。

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx

    【SpringMVC框架技术教程】第2章主要探讨了处理器映射器(HandlerMapping)和处理器适配器(HandlerAdapter)这两个核心组件在SpringMVC中的作用和使用。以下是详细的知识点解析: 1. **处理器映射器**: - ...

    《Java2程序设计实用教程(第2版)》课件

    《Java2程序设计实用教程(第2版)》是一本深度解析Java编程语言的经典教材,其课件旨在帮助学习者更直观、更深入地理解Java编程的核心概念和技术。本课件由教材作者或厂家精心制作,包含了一系列与课程内容紧密相关的...

    java-电子书类 李兴华java教程

    【李兴华Java教程】是一套全面且深入的Java学习资料,主要面向想要掌握Java编程技术的初学者和进阶者。这套教程由资深IT教育专家李兴华编写,旨在帮助读者系统地理解和掌握Java语言的核心概念、语法结构以及实际应用...

    Mybatis系列教程Mybatis注解开发共9页.pdf

    【标题】"Mybatis系列教程Mybatis注解开发共9页.pdf" 提供的是一个关于Mybatis框架注解开发的教程,重点在于讲解如何在Mybatis中使用注解进行数据库操作。Mybatis是一个轻量级的Java持久层框架,它允许开发者通过...

    Java与模式.part16-18.rar

    《Java与模式》系列教程是深入理解Java编程和设计模式的重要资源,分为多个部分进行讲解。从提供的信息来看,我们关注的是第16至18部分的内容,这可能包括了高级Java特性和常见设计模式的应用。尽管没有具体的章节...

    Java 核心系列教程.zip

    "Java 核心系列教程.zip" 提供的是一套全面学习Java核心技术的资源,旨在帮助初学者和进阶者深入理解Java语言的核心概念与实践应用。 在Java的核心教程中,通常会涵盖以下几个关键知识点: 1. **基础语法**:包括...

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第5章 数据校验 (共26页).pptx

    Java开发实训课程中的SpringMVC框架技术教程涵盖了多个章节,其中第五章重点讲解了数据校验。SpringMVC是Spring框架的一个模块,专门用于构建Web应用程序的MVC(Model-View-Controller)架构。在实际的Java开发中,...

    java教程—中文文章(chm)

    在这个教程中,你可以期待学习到以下关键的Java知识点: 1. **Java基础知识**:包括Java的历史、特点、环境配置,以及如何编写第一个"Hello, World!"程序。 2. **语法结构**:深入讲解Java的语法,如数据类型...

    java注解方式实现SpringAop编程(源码+jar包)

    本教程将重点讲解如何通过注解方式来实现Spring AOP,并提供相关的源码和jar包辅助学习。 首先,理解AOP的基本概念至关重要。AOP是面向切面编程的缩写,它通过预编译方式和运行期动态代理实现程序功能的统一维护的...

    java学习JAVA-web其他材料

    这个“JAVA-web其他材料”的压缩包可能包含了以上知识点的相关教程、示例代码、实战项目等,对于系统学习和提升Java Web技能是非常有价值的。学习这些内容有助于深入理解Web应用的架构和工作原理,为成为专业的Java ...

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第9章 SSM框架整合 (共26页).pptx

    【SpringMVC框架技术教程】第9章主要探讨了如何将SpringMVC、Spring和MyBatis(SSM)这三大流行Java框架整合在一起,构建一个完整的Java开发系统。SSM框架整合是Java Web开发中的常见实践,它使得开发者能够充分利用...

    Java与模式.part10-12.rar

    《Java与模式》系列教程是深入理解Java编程语言与设计模式的重要资料,涵盖了从基础到高级的多种设计原则和模式应用。在这个.part10-12的压缩包中,我们很可能会找到关于Java编程和设计模式实践的深入讨论,包括但不...

Global site tag (gtag.js) - Google Analytics