spring 事物合并

Spring Collection合并是我第一次遇到的功能,它是对StackOverflow 问题的回答

这是一种创建基本集合(列表,集合,地图或属性)并在其他Bean中修改此基本集合的方法,下面通过一个示例对此进行最好的解释-

考虑一个Person类,其中的一个字段包含地址列表:

public class Person {private List<Address> addresses;
..
}

假设所有Person实例都有一组公共地址,可以使用抽象的person Bean通过以下方式指定这些地址:

<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>

现在,可以通过“集合合并”功能以这种方式指定除basePerson的地址外还具有地址的Person Bean实例–请注意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和更高版本中,一个更简单的选项可能只是使用@Configuraion和@Bean选项,因为可以使用Java代码直接处理合并,例如,上述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

spring 事物合并

spring 事物合并_Spring系列合并相关推荐

  1. 看图轻松理解数据结构与算法系列(合并排序)

    前言 推出一个新系列,<看图轻松理解数据结构和算法>,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握.本系列包括各种堆.各种队列.各种列表.各种树.各种图.各种排序等等几十篇的 ...

  2. clickhouse表引擎-合并树系列

    目录 1 clickhouse表引擎-合并树系列简介 2 MergeTree引擎 2.1 建表语法 2.2 创建最简单的MergerTree引擎表 2.3 插入数据 2.4 查看目录结构 2.5 指定 ...

  3. Spring Cloud微服务系列文,服务调用框架Feign

    之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON.    这种 ...

  4. spring事物 设计模式_是什么使事物变得美丽,以及如何在设计中使用它

    spring事物 设计模式 What do you think about the phrase "beautiful design"? You like it, don't ca ...

  5. bootstraptable合并标题_bootstrapTable 合并单元格

    /** * 合并单元格 * @param data 原始数据(在服务端完成排序) * @param fieldName 合并属性名称 * @param colspan 合并列 * @param tar ...

  6. [Spring 深度解析]第6章 Spring的IoC容器系列

    6. Spring的IoC容器系列 ​ IoC容器为开发者管理对象之间的依赖关系提供了很多便利和基础服务.有许多IoC容器供开发者选择,SpringFramework的IoC核心就是其中一个,它是开源 ...

  7. 【直播回顾】云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第19讲):Java Spring Cloud微服务架构模式与开发实战...

    主讲人:徐雷(云栖社区特邀Java专家) 徐雷,花名:徐雷frank:资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士.从事了 10年+开发工作,专注于分布式架构,Ja ...

  8. spring 事物的传播特性

    2019独角兽企业重金招聘Python工程师标准>>> 在使用spring事物通常会配置的Service层 ,当我们调用 一个service成的方法的时候 ,这个方法在执行的过程中对 ...

  9. 怎么将两个datatable 合并_视频音频合并大师免费版-视频音频合并大师2020版下载(附使用方法) v2020.02.08...

    视频音频合并大师免费版 是一款好用的视频合并软件,包括视频合并和音频合并,可以一次性将多个视频格式文件或音频文件合并成一个单独的视频文件,进行转换合并成你想要的视频,并且有多种自适应屏幕尺寸可以选择, ...

最新文章

  1. java/android 设计模式学习笔记(1)--- 单例模式
  2. 5 HBase命令行接口
  3. 解决flask端口被占用的问题
  4. MySQL查看SQL语句执行效率
  5. ssh远程访问失败 Centos7
  6. Quartz.NET WinFrom 关闭程序后无法结束进程
  7. [2019杭电多校第六场][hdu6641]TDL
  8. 傲腾持久内存如何为数据赋能,加速应用落地?
  9. php player baidu,BaiduPlayer.php
  10. 《人工智能:一种现代的方法》总结 第二章
  11. 华为管理学案例分析_华为管理成功案例分析答案
  12. 曲苑杂坛--DML操作中如何处理那些未提交的数据
  13. 数据出境需“安检”,怎样才能合法合规
  14. Win32_VideoController 显卡 参数说明
  15. 基于Opencv的开源的中文车牌识别系统
  16. 掌握这9个单行代码技巧!你也能写出『高端』Python代码 ⛵
  17. 微信小程序学习(三):在微信开发者工具中,使用WeUI前端美化框架,微信小程序
  18. JVM内存模型、原理、垃圾回收、调优
  19. 从子窗口中获取父窗口的句柄例子
  20. 全国计算机等级考试 贴吧,【全国计算机等级考试】

热门文章

  1. java实现遍历树形菜单方法——struts.xml实现
  2. 常用的字符串加密解密工具类
  3. 2016经典微小说:《轮回》
  4. SpringCache与Redis
  5. Ajax响应处理数据的三种格式(主要使用gson包)
  6. JSON 和 JavaScript 对象互转
  7. 启动php-fpm服务器_无服务器冷启动不是问题-这就是为什么(对于大多数应用程序)...
  8. gitlab10.x迁移_1.x到2.x的迁移:可观察与可观察:RxJava FAQ
  9. activiti dmn_端到端BPM(带有DMN标记)
  10. neo4j 显示名字_Neo4j:绘制“我的名字是……我在工作”图