我有两个具有相同属性名称的java类。如何将所有属性复制到另一个充满数据的bean。我不想使用传统的表单复制属性,因为我有很多属性。
提前感谢。
1类
@ManagedBean
@SessionScoped
public class UserManagedBean implements Serializable {
private static final long serialVersionUID = 1L;
private String userSessionId;
private String userId;
private String name;
private String adress;
......................
2类
public class UserBean {
private String userSessionId;
private String userId;
private String name;
....................
如果您使用Apache的库BeanUtils,您可以很容易地做到这一点:
http://commons.apache.org/proper/commons-beanutils/
特别是,看看copyProperties(Object,Object)
http://commons.apache.org/proper/commons-beanutils/apidocs/org/apache/commons/beanutils/BeanUtils.html#copyProperties(java.lang.Object、java.lang.Sobject)
对于属性名称相同的所有情况,将属性值从源bean复制到目标bean。
看看Dozer框架——它是一个对象到对象的映射框架。这个想法是:
。。因此,映射文件尽可能紧凑。它在很多情况下都很有用,比如将一个用例指定服务有效负载映射到可重用的核心模型对象上。
在提供SpringSource培训课程时,我们经常指出这个框架。
编辑:
这些天尝试Mapstruct。
使用BeanUtils
:
import org.apache.commons.beanutils.BeanUtils;
UserBean newObject = new UserBean();
BeanUtils.copyProperties(newObject, oldObject);
问题内容: 我有两个具有相同属性名称的java类。如何将所有属性复制到另一个装有数据的bean中。我不想使用传统形式来复制属性,因为我有很多属性。 提前致谢。 1班 2班 问题答案: 用途:
问题内容: 我有一个简单的Java POJO,可以将属性复制到同一POJO类的另一个实例。 我知道我可以使用BeanUtils.copyProperties()做到这一点,但我想避免使用第三方库。 那么,如何简单,正确,安全地做到这一点呢? 顺便说一句,我正在使用Java 6。 问题答案: 我想如果您查看BeanUtils的源代码,它将向您展示如何在不实际使用BeanUtils的情况下执行此操作。
问题内容: 我在不同的程序包中有几个Pojo,每个POJO包含同一程序包中另一个Pojo的集合。我需要将所有具有相同名称的项目从Package B Pojos复制到Package A中的对象。 极端: 我想递归地将所有项目从类复制到存在且共享相同名称的类。 更新: 伙计们,我知道这是一个愚蠢的问题,但是我需要维护此代码,现在编写代码时,他们必须调用50个getter和setter或使用50个参数调
在spring initialize之后,我希望将第二个bean的属性值合并到第一个bean中。请告知spring是否提供了动态注入值的类。
问题内容: 是否可以通过读取另一个bean的属性来设置一个bean的属性?例如,假设我有: 我希望Spring实例化这两个类,并调用A的setList方法,并传入调用B的getList方法的结果。Spring配置可能类似于: las,这种伪造的XML不起作用。 为什么不将B注入A?因为我不想引入额外的依赖关系。A仅依赖列表,而不依赖B。 问题答案: 如果你使用的是spring 3.0,还可以使用新
我有一个场景,在呈现JSF页面之前,我必须调用另一个bean和注册的bean属性,因为JSF页面引用bean属性来呈现响应。 处理请求-调用后端方法以获取详细信息-如果(type==XYZ),则调用beantwo.gettypexyz()并按照为beantwo.gettypexyz()定义的导航规则重定向-否则(type==RST),则调用beanthree.gettyperst()并按照为bea