第十三章 黑马程序员WEB17-基础加强篇.docVIP

第十三章 黑马程序员WEB17-基础加强篇.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17章WEB17-基础加强篇 案例一:使用自定义注解完成@Test注解功能类似的效果: 需求 使用Junit是单元测试的工具.在一个类中使用 @Test 对程序中的方法进行测试. 自定义一个注解@MyTest 也将这个注解加在类的方法上. 使这个方法得到执行. 分析: 技术分析: 【注解】 程序中有 注释 和注解 * 注释:给开发人员. * 注解:给计算机看的. 注解使用:学习框架支持注解开发. 【JDK提供的注解】 @Override :描述方法的重写. @SuppressWarnings :压制警告. @Deprecated :标记过时. 自定义注解: 定义一个类:class 定义一个借口:interface 定义一个枚举:enum 定义一个注解:@interface 【自定义注解案例】 @interface MyAnno1{ } 带有属性的注解: @interface MyAnno2{ int a() default 1; String b(); // 注解属性的类型:基本数据类型,字符串类型String,Class,注解类型,枚举类型,以及以上类型的一维数组. // Date d(); Class clazz(); MyAnno3 m3(); // 注解 Color c(); // 枚举 String[] arrs(); } @MyAnno4(aaa) // 如果属性名称为value 那么使用的时候 value可以省略(只出现这一个value的属性情况下). public class AnnotationDemo3 { } @interface MyAnno4{ String value(); int a() default 1; } 步骤分析: 定义一个测试类 public class AnnotationDemo3 { @MyTest public void demo1(){ System.out.println(demo1执行了...); } @MyTest public void demo2(){ System.out.println(demo2执行了...); } public void demo3(){ System.out.println(demo3执行了...); } } 定义核心运行类: 在核心运行类中有一个主函数: 获得测试类中的所有的方法. 获得每个方法,查看方法上是否有@MyTest注解. 如果有这个注解,让这个方法执行. 代码实现: 通过元注解定义注解存在的阶段. * 元注解也是一个注解:修饰注解的 注解. 自定义一个注解: 核心运行类: public class CoreRunner { public static void main(String[] args) { // 反射:获得类的字节码对象.Class Class clazz = AnnotationDemo3.class; // 获得测试类中的所有的方法: Method[] methods = clazz.getMethods(); // 遍历数组: for (Method method : methods) { // System.out.println(method.getName()); // 判断方法上是否有@MyTest注解: boolean flag = method.isAnnotationPresent(MyTest.class); // System.out.println(method.getName()+ +flag); if(flag){ // 让这个方法执行: try { method.invoke(clazz.newInstance(), null); } catch (Exception e) { e.printStackTrace(); } } } } } 总结: 使用注解完成JDBC工具类的编写:(了解) public class JDBCUtils { private static String driverClass; private static String url; private static String username; private static String password; @JDBCInfo public static Connection getConnection() throws Exception{ // 反射: Class claz

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档