时间:2021-05-19
创建自定义注解
@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Test {}建立测试类
public class UserTest { @Test public void testInsert() { User user = null; System.out.println(user.getUsername()); } @Test public void testQuery() { Blog b = new Blog(); b.setTips(new String[] {"技术","java","多线程"}); String[] tips = b.getTips(); System.out.println(tips[3]); } @Test public void divide() { System.out.println(10/0); } }编写工具类
public static void main(String[] args) { BufferedWriter bw = null; try { //记录方法总数 int methodCount = 0; //记录错误方法总数 int expCount = 0; //准备一个文件输出流,用于记录程序执行过程中的异常信息 bw = new BufferedWriter(new FileWriter("log.txt")); // 获取类的Class对象 Class clz = UserTest.class; //创建目标类型的实例对象 Object obj = clz.newInstance(); //获取所有的方法对象 Method[] methods = clz.getMethods(); for (Method m : methods) { if(m.isAnnotationPresent(Test.class)) { //统计总共有多少方法需要被测试 methodCount++; } } bw.write("测试方法总数:" + methodCount); bw.newLine(); bw.write("================================"); bw.newLine(); for (Method m : methods) { try { //如果方法上面包含了Test注解则作为测试方法进行测试 if(m.isAnnotationPresent(Test.class)) { m.invoke(obj); } } catch (Exception e) { //异常方法计数器递增 expCount++; bw.write(m.getName() + "出现异常"); bw.newLine(); bw.write("类型:" + e.getCause().getClass()); bw.newLine(); bw.write("原因:" + e.getCause().getMessage()); bw.newLine(); bw.write("================================"); bw.newLine(); } } bw.write("错误方法总数:" + expCount); bw.newLine(); } catch (Exception e) { e.printStackTrace(); }finally { try { if(bw != null) { bw.flush(); bw.close(); } } catch (IOException e) { e.printStackTrace(); } } }到此这篇关于浅谈java运用注解实现对类中的方法检测的工具的文章就介绍到这了,更多相关java运用注解实现对类中的方法检测的工具内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
实现工具类利用注解实现简单的excel数据读取,利用注解对类的属性和excel中的表头映射,使用Apache的poi就不用在业务代码中涉及row,rows这些属
java配置主要靠java类和一些注解,比较常用的注解有:@Configuration:声明一个类作为配置类,代替xml文件@Bean:声明在方法上,将方法的返
场景:根据方法上的注解,通过java反射方式找到需要执行的的方法。1.注解类/**注解作用在方法上*/@Target({ElementType.METHOD})
1.首先需要用@EnableScheduling注解到*applicatin.java,用来检测是否有调度任务。2.@Scheduled注解用于标注这个方法是一
Scala中的方法跟Java的方法一样,方法是组成类的一部分。方法有名字、类型签名,有时方法上还有注解,以及方法的功能实现代码(字节码)。Scala中的函数是一