Epa*_*aga 3 java annotations bytecode-manipulation java-bytecode-asm
有没有办法修改.class文件以便为某些方法添加Java注释?基本上我想遍历jar文件中的每个类文件的方法并注释某些类文件.请注意,在使用jar文件时,这不是在运行时.相反,在我完成之后,我想要使用注释修改类文件.
我有权访问源代码,所以如果有一个自动源代码修饰符,那也可以...
实际上,这是AspectJ的经典用例:
declare @method : public * BankAccount+.*(..) : @Secured(role="supervisor")
Run Code Online (Sandbox Code Playgroud)
虽然我将授予您直接字节代码操作更强大的功能,但AspectJ更加用户友好,并且当您做错时它会立即为您提供编译器警告.
此外,如果使用" 加载时间编织",则可以保持原始库jar不变,因为编织发生在类加载时.
参考: