1. Annotations personnalisées
Définissez les annotations à l'aide de mots-clés : @interface
// #1 定义注解 public @interface MyAnno1{ }
2. Meta annotations
Annotations utilisées pour modifier les annotations.
Cinq méta-annotations fournies par JDK :
(1) @Target : utilisé pour déterminer l'emplacement d'utilisation de l'annotation personnalisée modifiée
(2) @Retention : utilisé pour déterminer le cycle de vie de l'annotation personnalisée modifiée
(3) @Inherited : Indique que l'annotation est héritée (comprendre)
(4) @Documented : Lors de l'utilisation de javadoc pour générer des documents API, s'il faut inclure cette annotation (comprendre)
(5) @Repeatable : l'annotation est dans la même position, ne peut apparaître qu'une seule fois. Avec @Repeatable, vous pouvez l'utiliser plusieurs fois au même endroit.
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); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!