
提到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


















































暂无评论内容