使用自定義註解完成@Test註解功能類似的效果
1、需求:
【註解】
- 程序中有註釋和註解
- 註釋:給開發人員看.
- 註解:給計算機看的.
- @override :描述方法的重寫.
- @SupperssWarnings :壓制警告.
- @Deprecated :標記過時.
- 定義一個類:class
- 定義一個接口:interface
- 定義一個枚舉:enum
- 定義一個註解:@interface
- 在覈心運行類中有一個主函數。
- 獲得測試類的所有方法。
- 獲得每個方法,查看方法上是否有@MyTest註解。
- 如果有這個註解,讓這個方法執行。
// System.out.println(method.getName()+" "+flag);
if(flag){
// 讓這個方法執行:
try {
method.invoke(clazz.newInstance(),null);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
使用註解完成JDBC工具的編寫:
public class JDBCUtils {
privatestatic String driverClass;
privatestatic String url;
privatestatic String username;
privatestatic String password;
@JDBCInfo
publicstatic Connection getConnection() throws Exception{
// 反射:
Class clazz = JDBCUtils.class;
Method method =clazz.getMethod("getConnection", null);
// 獲得方法上的註解:
JDBCInfo jdbcInfo =method.getAnnotation(JDBCInfo.class);
driverClass =jdbcInfo.driverClass();
url = jdbcInfo.url();
username = jdbcInfo.username();
password = jdbcInfo.password();
Class.forName(driverClass);
Connection conn =DriverManager.getConnection(url, username, password);
return conn;
}
}