Wenn Sie wissen möchten, was Java-Annotation ist? Sie können zuerst einen Blick darauf werfen: „http://www.infoq.com/articles/Annotation-Hammer“
Hier ist eine Demo, die ich gemacht habe:
Projektstruktur:
Betriebseffekt:
=============================================== ==
Codeteil:
Hinweis: Viele Leute werden sich die Frage stellen: „Was ist der Zweck? Wir können eine Konfigurationsdatei (XML, Eigenschaften usw.) erstellen, was nicht praktischer ist als diese ... oder.“
Schreiben Sie unsere Konfigurationsinformationen direkt in das Programm ... Auf diese Weise werden die von uns geschriebenen Kommentare nicht analysiert.
Doch welche Vor- und Nachteile haben Annotations- und Konfigurationsdateien wie XML und Properties?
Persönliche Meinung: Beim Schreiben von Kommentaren ist es bequemer ... es kann die Effizienz der Entwicklung verbessern. Annotations-Frameworks sind nützlich, wie zum Beispiel: Hibernate, Struts, Spring usw.
Zurück zum ursprünglichen Thema: „Was ist der Zweck davon?“ – Dies ist nur eine Demo, um alle wissen zu lassen, worum es bei Annotation geht … In vielen der Projekte, die wir entwickeln
Dabei werden unsere selbst definierten Anmerkungen selten verwendet. Wenn sie wirklich verwendet werden, kann dieser Blog hilfreich sein.^_^
=============================================== ==
/java_annotation/src/com/b510/hongten/annotation/JDBCAnnotation.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* JDBC-Anmerkung
*
* @Autor Hongten
* @Datum 10.04.2013
*/
@Dokumentiert
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface JDBCAnnotation {
String drivers() default „com.mysql.jdbc.Driver“;
String dbName() default „“;
String-Encoding() Standard „UTF-8“;
String port() Standard „3306“;
String host() default „localhost“;
String userName() default „root“;
String passwort() Standard „“;
}
import com.b510.hongten.annotation.JDBCAnnotation;
/**
* @Autor Hongten
* @Datum 12.04.2013
*/
@JDBCAnnotation(dbName = „db_lucene“, port = „3306“, host = „192.168.0.119“, userName = „root“, passwort = „root“)
öffentliche Klasse JDBCUtil {
privater statischer String-Treiber;
privater statischer String dbName;
private statische String-Kodierung;
privater statischer String-Port;
privater statischer String-Host;
privates statisches String-Passwort;
privater statischer String userName;
private statische String-URL;
public void checkInterceptor(Class<?> cl) löst eine Ausnahme aus {
boolean flag = cl.isAnnotationPresent(JDBCAnnotation.class);
if (Flagge) {
JDBCAnnotation jdbcAnnotation = cl.getAnnotation(JDBCAnnotation.class);
Driver = jdbcAnnotation.driver();
dbName = jdbcAnnotation.dbName();
kodierung = jdbcAnnotation.encoding();
port = jdbcAnnotation.port();
host = jdbcAnnotation.host();
userName = jdbcAnnotation.userName();
passwrod = jdbcAnnotation.password();
url = "jdbc:mysql://" + host + :: + port + "/" + dbName + "?characterEncoding=" +kodierung;
System.out.println("JDBCUtil-Laden der Kommentare abgeschlossen...");
}
}
public JDBCUtil() {
versuchen {
checkInterceptor(JDBCUtil.class);
} Catch (Ausnahme e) {
e.printStackTrace();
}
}
öffentlicher statischer String getDriver() {
Rückholfahrer;
}
public static void setDriver(String Driver) {
JDBCUtil.driver = Treiber;
}
öffentlicher statischer String getDbName() {
dbName zurückgeben;
}
public static void setDbName(String dbName) {
JDBCUtil.dbName = dbName;
}
öffentlicher statischer String getEncoding() {
Rückgabekodierung;
}
public static void setEncoding(String-Kodierung) {
JDBCUtil.encoding = Kodierung;
}
öffentlicher statischer String getPort() {
Rücklaufhafen;
}
public static void setPort(String port) {
JDBCUtil.port = port;
}
öffentlicher statischer String getHost() {
Rückkehr-Host;
}
public static void setHost(String host) {
JDBCUtil.host = host;
}
öffentlicher statischer String getPasswrod() {
Passwort zurückgeben;
}
public static void setPasswrod(String passwrod) {
JDBCUtil.passwrod = passwrod;
}
öffentlicher statischer String getUserName() {
return Benutzername;
}
public static void setUserName(String userName) {
JDBCUtil.userName = Benutzername;
}
öffentlicher statischer String getUrl() {
Rückgabe-URL;
}
public static void setUrl(String url) {
JDBCUtil.url = url;
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* @author Hongten</br>
* @Datum 16.07.2012
*
*/
öffentliche Klasse JDBCTest {
@SuppressWarnings("static-access")
public static void main(String[] args) {
JDBCUtil jdbcUtil = new JDBCUtil();
String sql = "select * from mymails";
versuchen {
Class.forName(jdbcUtil.getDriver());
Connection conn = DriverManager.getConnection(jdbcUtil.getUrl(), jdbcUtil.getUserName(), jdbcUtil.getPasswrod());
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
System.out.println("id : " + rs.getInt(1) + " name : " + rs.getString(2) + " mail : " + rs.getString(3));
}
//Recordset schließen
if (rs != null) {
versuchen {
rs.close();
} Catch (SQLException e) {
e.printStackTrace();
}
}
// Anweisung schließen
if (ps != null) {
versuchen {
ps.close();
} Catch (SQLException e) {
e.printStackTrace();
}
}
// Schließe das Link-Objekt
if (conn != null) {
versuchen {
conn.close();
} Catch (SQLException e) {
e.printStackTrace();
}
}
} Catch (Ausnahme e) {
e.printStackTrace();
}
}
}