java注解的类型有哪些?

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

1、自定义注解

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

//#1定义注解
public@interfaceMyAnno1{
}

2、元注解

用于修饰注解的注解。

JDK提供的5种元注解:

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

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

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

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

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

packageutil;

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;

importanno.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")
publicclassDBUtil{
static{
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}

publicstaticConnectiongetConnection()throwsSQLException,NoSuchMethodException,SecurityException{
JDBCConfigconfig=DBUtil.class.getAnnotation(JDBCConfig.class);
System.out.println(config);

Stringip=config.ip();
intport=config.port();
Stringdatabase=config.database();
Stringencoding=config.encoding();
StringloginName=config.loginName();
Stringpassword=config.password();

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

publicstaticvoidmain(String[]args)throwsNoSuchMethodException,SecurityException,SQLException{
Connectionc=getConnection();
System.out.println(c);
}
}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容