java注解的类型知识点总结

提到java里的注解,和我们平时的注释还是有很大的区别,主要是作为java特性来使用的,跟我们常见的类是同一个使用的层面。关于java注解的类型,我们可以简单分为:自定义注解和元注解。其中元注解里的JDK又有5中注解的类型,下面一起来看看具体的内容讲解吧。

1、自定义注解

定义注解使用关键字: @interface

// #1 定义注解
public @interface MyAnno1{
}

2、元注解

用于修饰注解的注解。

JDK提供的5种元注解:

(1)@Target:用于确定被修饰的自定义注解使用位置

(2)@Retention:用于确定被修饰的自定义注解生命周期

(3)@Inherited:表示该注解具有继承性(了解)

(4)@Documented:使用 javadoc 生成 api 文档时,是否包含此注解 (了解)

(5)@Repeatable:注解在同一个位置,只能出现一次。使用@Repeatable,可以在同一个地方使用多次了。

package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import anno.JDBCConfig;

@JDBCConfig(ip = "127.0.0.1", database = "test", encoding = "UTF-8", loginName = "root", password = "admin")
@JDBCConfig(ip = "127.0.0.1", database = "test", encoding = "UTF-8", loginName = "root", password = "admin")

public class DBUtil {
 static {
   try {
     Class.forName("com.mysql.jdbc.Driver");
   } catch (ClassNotFoundException e) {
     e.printStackTrace();
   }
 }

 public static Connection getConnection() throws SQLException, NoSuchMethodException, SecurityException {
   JDBCConfig config = DBUtil.class.getAnnotation(JDBCConfig.class);
   System.out.println(config);

   String ip = config.ip();
   int port = config.port();
   String database = config.database();
   String encoding = config.encoding();
   String loginName = config.loginName();
   String password = config.password();

   String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", ip, port, database, encoding);
   return DriverManager.getConnection(url, loginName, password);
 }

 public static void main(String[] args) throws NoSuchMethodException, SecurityException, SQLException {
   Connection c = getConnection();
   System.out.println(c);
 }

}

知识点扩展:

理解Java注解

实际上Java注解与普通修饰符(public、static、void等)的使用方式并没有多大区别,下面的例子是常见的注解:

public class AnnotationDemo {
 //@Test注解修饰方法A
 @Test
 public static void A(){
  System.out.println("Test.....");
 }

 //一个方法上可以拥有多个不同的注解
 @Deprecated
 @SuppressWarnings("uncheck")
 public static void B(){

 }
}

通过在方法上使用@Test注解后,在运行该方法时,测试框架会自动识别该方法并单独调用,@Test实际上是一种标记注解,起标记作用,运行时告诉测试框架该方法为测试方法。而对于@Deprecated和@SuppressWarnings(“uncheck”),则是Java本身内置的注解,在代码中,可以经常看见它们,但这并不是一件好事,毕竟当方法或是类上面有@Deprecated注解时,说明该方法或是类都已经过期不建议再用,@SuppressWarnings 则表示忽略指定警告,比如@SuppressWarnings(“uncheck”),这就是注解的最简单的使用方式

到此这篇关于java注解的类型知识点总结的文章就介绍到这了,更多相关java注解的类型有哪些内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 深入理解Java注解类型(@Annotation)

    Java注解是在JDK5时引入的新特性,鉴于目前大部分框架(如spring)都使用了注解简化代码并提高编码的效率,因此掌握并深入理解注解对于一个Java工程师是来说是很有必要的事.本篇我们将通过以下几个角度来分析注解的相关知识点 理解Java注解 实际上Java注解与普通修饰符(public.static.void等)的使用方式并没有多大区别,下面的例子是常见的注解: public class AnnotationDemo { //@Test注解修饰方法A @Test public static

  • java注解的类型知识点总结

    提到java里的注解,和我们平时的注释还是有很大的区别,主要是作为java特性来使用的,跟我们常见的类是同一个使用的层面.关于java注解的类型,我们可以简单分为:自定义注解和元注解.其中元注解里的JDK又有5中注解的类型,下面一起来看看具体的内容讲解吧. 1.自定义注解 定义注解使用关键字: @interface // #1 定义注解 public @interface MyAnno1{ } 2.元注解 用于修饰注解的注解. JDK提供的5种元注解: (1)@Target:用于确定被修饰的自定

  • Java注解处理器简单实例

    如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.JavaSE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器. 注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口.除此之外,Java在java.lang.reflect包下新增了AnnotatedElement

  • 详解Java注解知识点

    一.注解是什么 Java 注解用于为 Java 代码提供元数据,看完这句话也许你还是一脸懵逼,用人话说就是注解不直接影响你的代码执行,仅提供信息.接下我将从注解的定义.元注解.注解属性.自定义注解.注解解析JDK 提供的注解这几个方面再次了解注解(Annotation) 二.jdk支持的注解有哪些 2.1 三种常用的注解: @SuppressWarnings 该注解的作用是阻止编译器发出某些警告信息.它可以有以下参数: deprecation :过时的类或方法警告. unchecked:执行了未

  • java jvm两种存储区的类型知识点讲解

    我们知道在jvm中存放了不少数据,那么存放数据的地方叫做存储区.想必大家还不知道存储区是分为两种类型的,常量缓冲池和方法区.相信很多人还没有接触到这个概念,本篇对java中jvm的存储区进行的内容的整理,下面一起来看看这两种存储取的概念和区别吧. 1.分类 JVM有两种类型的存储区:常量缓冲池和方法区.常量缓冲池用于存储类名.方法名和字段名以及字符串常量.方法区用于存储Java方法的字节码.JVM规范中没有规定这两个存储区域的具体实现.因此,Java应用程序的存储布局必须在运行过程中确定,这取决

  • Java 注解学习笔记

    注解说明 Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据.为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据.Java语言中的类.方法.变量.参数和包等都可以被标注.和Javadoc不同,Java标注可以通过反射获取注解内容.在编译器生成类文件时,注解可以被嵌入到字节码中.Java虚拟机可以保留注解内容,在运行时可以获取到注解内容. 内置注解 Java定义了一套注解,共有7个,3个在java.lang中,剩下4个

  • Java final 修饰符知识点总结(必看篇)

    final从字面上理解含义为"最后的,最终的".在Java中也同样表示出此种含义. final可以用来修饰变量(包括类属性.对象属性.局部变量和形参).方法(包括类方法和对象方法)和类. 1. final修饰类: final修饰类即表示此类已经是"最后的.最终的"含义.因此,用final修饰的类不能被继承,即不能拥有自己的子类. 如果视图对一个已经用final修饰的类进行继承,在编译期间或发生错误. 2. final修饰方法: final修饰的方法表示此方法已经是&

  • java注解的全面分析

    全面解析java注解 Java中的常见注解 a.JDK中的注解 @Override 覆盖父类或者父接口的方法     @Deprecated 表示方法已经过时     @SuppressWarnings("deprecation") 忽略方法过时警告 b.常见的第三方注解 例如Spring中的@Autowired(自动注入) 注解的分类 a.按照运行机制分 1.源码注解         注解只在源码中存在,编译成class文件就不存在了 2.编译时注解         注解在源码和cl

  • 浅谈Java注解和动态代理

    本文主要介绍Java中与注解和动态代理有关的部分知识,接下来我们看看具体内容. Annotation(注解) 其实就是代码里的特殊标记, 它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何运行. 1. 三个基本的Annotation: Override:限定重写父类方法, 该注解只能用于方法 Deprecated:用于表示某个程序元素(类, 方法等)已过时 SuppressWarnings:抑制编译器警告. 2.自定义Annotati

  • JAVA 注解详解及简单实例

    JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档  这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖性  可以通过注解替代配置文件,简化项目的配置.现有的许多框架都采用这个功能减少自己的配置. 编译检查  在编译时进行格式检查,例如@Override 基础注解 Java目前内置了三种标准注解,以及四种元注解.四种元注解负责创建其他的注解. 三种标准注解 @Override,表示当前的方法覆盖超类中

随机推荐