我正在試圖從java bean執行對象屬性映射到非bean POJO(沒有setter的第三方庫對象)。觀察源代碼,那裏的對象映射器庫依賴於屬性值集的setters方法。將非bean POJO包裝到Javabean中
我的問題是:是否有一個庫將這種非bean POJO封裝到JavaBean中? (主要爲所有字段生成setter和getter,並使用反射來正確設置非public字段的可訪問性(true)等),這樣我可以將屬性映射到生成的JavaBean中,並且一旦所有字段都填充完畢,我就可以從中提取/轉換底層的非bean POJO?
我決定使用JDTO作爲我選擇的對象映射庫。
在此先感謝!
如果沒有setter,可能是有很好的理由。該類的作者希望該對象是不可變的,並且是線程安全的,或者希望通過不逐一設置屬性來維護一些不變量。您通過反射訪問其私有字段來破解封裝,並在您採用下一個版本的庫時將自己暴露給失敗。 COnsider將狀態複製到其他對象而不是修改合適的封裝對象。 –