我有兩個對象Node1和Node2,都使用Bean1(JavaBean)。在其他bean中重用JavaBean類
我試圖在Node1和Node2中包含Bean1的屬性,而無需手動重複Bean1的屬性。另外,我試圖在兩個對象中重用Bean1的BeanInfo。
我正在考慮使用cglib,但它有可能嗎?
更多細節: 節點正在建模工作的輸入即,節點1是作業1輸入等。輸入類型可能有一個共同的類型,即Bean1。比如說,Bean1有一個屬性bean1Prop,Node1有一個屬性node1Prop,Node2有一個屬性node2Prop。
我需要類似 Node1 {node1Prop,bean1Prop}和Node2 {node2Prop,bean1Prop}。請注意,每個節點在init中都會有一個單獨的Bean1實例。現在,我可以通過授權手動獲取屬性,我不想這樣做以避免代碼重複。我只想告訴每個節點類我想使用Bean1的bean屬性。
cglib似乎能夠在運行時創建這樣的對象。但我猜運行時類型只是一個對象?另外,Bean1有一個beaninfo類,我想在Node1BeanInfo(通過getAdditionalBeanInfo())中重用,同樣在Node2BeanInfo中。
我不確定Node1BeanInfo和Node2BeanInfo是否會被cglib識別(通過JavaBeanTool)作爲運行時生成對象的beaninfo類。
我必須補充說,我從來沒有使用過cglib。
我的主要目標是避免代碼重複,在這種情況下,當一個常用類型用於許多作業輸入(這是很常見的)時,這將非常重要。
我很欣賞你對此的看法。
是的是否有任何理由說Node1和Node2不能擴展Bean1? –
請用更精確的語言,這個問題中的細節很重要。 – skaffman