2016-02-05 133 views
0

我想創建一個代理與cglib只有一個私人構造函數的類。我無法更改可見性,因爲它是一個庫方法。CgLib增強私有構造函數

我發現this post,並按照指示覆蓋filterConstructors方法,但是當cglib嘗試調用它時,我得到一個java.lang.IllegalAccessError

我可以繞過這個限制嗎?

回答

1

Cglib通過子類工作。因此,cglib類永遠不能訪問代理類的構造函數。

你可以嘗試做的是重新定義現有的類。爲此,您可以使用庫如Byte Buddy