首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向方法中添加Java注解?

向方法中添加Java注解?
EN

Stack Overflow用户
提问于 2011-01-28 18:04:20
回答 2查看 894关注 0票数 3

有没有办法修改.class文件,以便向某些方法添加Java?基本上,我希望遍历jar文件中每个类文件的方法,并注释某些方法。请注意,当使用jar文件时,这不是在运行时。相反,在我完成之后,我想用注解修改类文件。

我确实有权访问源代码,所以如果有一个自动的源代码修改器,也可以工作……

我假设我需要一个像JavassistASM这样的工具。如果是这样的话,我应该使用哪一个,我该如何去做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-28 18:23:55

用谷歌搜索一个小时左右,this article就会打开,这似乎完全回答了我的问题:使用ASM。要使用更改后的字节码编写类文件,请使用ClassWriter

好吧,我想是时候开始工作了。:)

票数 4
EN

Stack Overflow用户

发布于 2011-02-01 21:23:59

实际上,这是AspectJ的一个经典用例:

代码语言:javascript
复制
declare @method : public * BankAccount+.*(..) : @Secured(role="supervisor")

虽然我承认直接字节码操作更强大,但AspectJ对用户更友好,当您做错了什么事情时,它会立即向您发出编译器警告。

此外,如果使用Load Time Weaving,则可以保持原始库jar不变,因为编织发生在类加载时。

参考:

图书(

  • Declare Annotation
  • AspectJ in Action )
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4826946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档