javascript
Spring系列合并
這是一種創(chuàng)建基本集合(列表,集合,地圖或?qū)傩?#xff09;并在其他Bean中修改此基本集合的方法,下面通過(guò)一個(gè)示例對(duì)此進(jìn)行最好的解釋-
考慮一個(gè)Person類(lèi),其字段包含一個(gè)地址列表:
public class Person {private List<Address> addresses; .. }假設(shè)所有Person實(shí)例都有一組公共地址,可以使用抽象的person Bean通過(guò)以下方式指定這些地址:
<bean name='basePerson' class='Person' abstract='true'><property name='addresses'><list><bean class='Address' p:street='Street1' p:state='State1' p:zip='001'></bean><bean class='Address' p:street='Street2' p:state='State2' p:zip='002'></bean><bean class='Address' p:street='Street3' p:state='State3' p:zip='003'></bean></list></property> </bean>現(xiàn)在,可以使用“集合合并”功能以這種方式指定除basePerson的地址外還具有地址的Person Bean實(shí)例–請(qǐng)注意list的'merge = true'屬性:
<bean name='person1' class='Person' parent='basePerson'><property name='addresses'><list merge='true'><bean class='Address' p:street='Street4' p:state='State4' p:zip='004'></bean></list></property> </bean>集合合并還可以與<set />,<map />和<props />一起使用
在Spring 3.1和更高版本中,一個(gè)更簡(jiǎn)單的選項(xiàng)可能只是使用@Configuraion和@Bean選項(xiàng),因?yàn)槿缓罂梢允褂肑ava代碼直接處理合并,例如,上述xml bean配置的等效@Configuration:
@Configuration public class CollectionConfig{private List<Address> baseAddresses(){return Lists.newArrayList(new Address('Street1', 'State1', '001'), new Address('Street2', 'State2', '002'), new Address('Street3', 'State3', '003'));}@Beanpublic Person person1(){Person person1 = new Person();person1.setAddresses(baseAddresses());person1.getAddresses().add(new Address('Street4', 'State4', '004'));return person1;} }參考: Spring Collection由我們的JCG合作伙伴 Biju Kunjummen在all和其他博客中合并 。
翻譯自: https://www.javacodegeeks.com/2012/10/spring-collection-merging.html
總結(jié)
以上是生活随笔為你收集整理的Spring系列合并的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓刷双系统共享存储空间(安卓刷双系统)
- 下一篇: Spring MVC –自定义Reque