Heim  >  Artikel  >  Java  >  Typinstanzanalyse von Java-Annotationen

Typinstanzanalyse von Java-Annotationen

王林
王林nach vorne
2023-05-01 20:31:121503Durchsuche

1. Benutzerdefinierte Anmerkung

Verwenden Sie Schlüsselwörter, um Anmerkungen zu definieren: @interface

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

2. 🎜🎜#

Eine Anmerkung, die zum Ändern der Anmerkung verwendet wird.

Fünf von JDK bereitgestellte Meta-Anmerkungen:

(1) @Target: Wird verwendet, um den Speicherort geänderter benutzerdefinierter Anmerkungen zu bestimmen

( 2) @Retention: Wird verwendet, um den Lebenszyklus der geänderten benutzerdefinierten Annotation zu bestimmen

(3) @Inherited: Zeigt an, dass die Annotation vererbt ist (Verständnis)

(4) @Documented : Wenn Javadoc zum Generieren von API-Dokumenten verwendet wird, ob diese Anmerkung eingefügt werden soll (verstehen)

(5) @Repeatable: Die Anmerkung kann nur einmal an derselben Position angezeigt werden. Mit @Repeatable können Sie es mehrmals am selben Ort verwenden.

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);
    }
}

Das obige ist der detaillierte Inhalt vonTypinstanzanalyse von Java-Annotationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen