提到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
暂无评论内容