java注解是怎么实现的?
大家讲道理
大家讲道理 2017-04-17 11:44:23
[Java讨论组]

我一直很奇怪,拿junit4来讲,用注解@Before和@After 就可以代替setUp和tearDown这两个方法。方法名字都是继承来的啊……为什么用注解就可以随便叫方法名呢?我记得有本书说过注解都是用的反射机制,一句话概括了,但具体是怎么个原理?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
黄舟

程序运行时,通过反射查找该类中所有方法的注解,假如存在@Before则先运行method.invoke(methodName),其它同理,强烈推荐一个博客教程:

如何自定义注解——MKyong的博客

怪我咯

annonation 分为几种,编译时、运行时

在运行时的annotation可以通过反射API获得

在编译时的annotation可以通过APT (annotation processing toolkit)处理,比如生成代码,虽然用得不多。我早年写过一个利用APT的小例子,可以感受一下

https://github.com/sunng87/bason

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号