我一直很奇怪,拿junit4来讲,用注解@Before和@After 就可以代替setUp和tearDown这两个方法。方法名字都是继承来的啊……为什么用注解就可以随便叫方法名呢?我记得有本书说过注解都是用的反射机制,一句话概括了,但具体是怎么个原理?
我一直很奇怪,拿junit4来讲,用注解@Before和@After 就可以代替setUp和tearDown这两个方法。方法名字都是继承来的啊……为什么用注解就可以随便叫方法名呢?我记得有本书说过注解都是用的反射机制,一句话概括了,但具体是怎么个原理?
annonation 分为几种,编译时、运行时
在运行时的annotation可以通过反射API获得
在编译时的annotation可以通过APT (annotation processing toolkit)处理,比如生成代码,虽然用得不多。我早年写过一个利用APT的小例子,可以感受一下
15 回答8.2k 阅读
8 回答5.9k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.2k 阅读✓ 已解决
程序运行时,通过反射查找该类中所有方法的注解,假如存在
@Before
则先运行method.invoke(methodName)
,其它同理,强烈推荐一个博客教程:如何自定义注解——MKyong的博客