我的一些Java类具有标记有特殊注释@Assert
的静态方法,包含完整性检查。
我想在任何代码实际执行之前执行这些检查。最好的方法是从<clinit>
调用这些方法。如何使用AspectJ获得类似的行为,而不修改初始代码?
答案 0 :(得分:2)
AspectJ提供了一个staticinitialization(TypePattern)
切入点定义,它将选择现有的静态初始值设定项并拦截它们。但是,似乎无法将静态初始值设定项添加到没有它们的类中。
答案 1 :(得分:1)
只是为了补充John的答案; staticInitialization
切入点不需要任何static
块,在这种情况下,它充当简单的类加载连接点。
现在是时候调用使用@Assert
注释的方法。