[英]Execute code using annotations before the method is executed
我想在運行時執行方法之前先運行一些代碼,並希望通過注釋來實現它。 我有一個注釋@SetValues
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD })
public @interface SetValues
{}
我是注釋的新手,有幾個問題
有幾種方法可以完成此操作:
但是我不確定您到底想要什么。 名稱“ SetValues”似乎暗示您要更改某些字段的值(並可能在執行該方法后將其還原)。 您必須意識到InvocationHandler只能做很多事情。 例如,它不能也不應該破壞封裝(至少沒有其他任何代碼可以借助反射來完成)。 使用此功能時要考慮的另一點是,當InvocationHandler嘗試更改兩個方法都需要的值時,它可能與此類方法的並發執行發生非常嚴重的交互。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.