BeanUtils.copyProperties使用中各种出错,求大神指导~~

RainyNight_WC 2016-08-26 12:35:00
com.bdyc.manager.pojo包中的Employee

package com.bdyc.manager.pojo;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
public class Employee implements java.io.Serializable {
private int eid;
private Role role;
private String ename;
private String epwd;
private String esex;
private int eage;
private String ephone;
private Date ehiredate;
private String eidcard;
private int estatus;
private String ejob;
private String etips;
private Set<Items> itemses = new HashSet<Items>();
private Set<Access> accesses = new HashSet<Access>();
private Set<Info> infosForEid = new HashSet<Info>();
private Set<Info> infosForEmpEid = new HashSet<Info>();
private Set<Task> tasks = new HashSet<Task>();
//有参构造与无参构造
//所有的set和get
}

com.bdyc.manager.bean包中的Employee

package com.bdyc.manager.bean;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
public class Employee {
private int eid;
private Role role;
private String ename;
private String epwd;
private String esex;
private int eage;
private String ephone;
private Date ehiredate;
private String eidcard;
private int estatus;
private String ejob;
private String etips;
private Set<Items> itemses = new HashSet<Items>();
private Set<Access> accesses = new HashSet<Access>();
private Set<Info> infosForEid = new HashSet<Info>();
private Set<Info> infosForEmpEid = new HashSet<Info>();
private Set<Task> tasks = new HashSet<Task>();
//有参构造与无参构造
//所有的set和get
}

Employee的Service

package com.bdyc.manager.service;
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
import com.bdyc.manager.bean.Employee;
import com.bdyc.manager.dao.EmployeeDao;
public class EmployeeService {
public Employee Login(String ename, String epwd) {
EmployeeDao ed = new EmployeeDao();//dao类,用于连接数据库和增删改查
com.bdyc.manager.pojo.Employee ee = ed.get(ename, epwd);//查询,返回的是com.bdyc.manager.pojo包下的Employee
Employee emp = new Employee();
if (ee != null) {
try {
BeanUtils.copyProperties(emp, ee);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
return emp;
}
}

错误信息是

2016-8-26 0:01:24 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [LoginServlet] in context with path [/itemmanager] threw exception
java.lang.IllegalArgumentException: Cannot invoke com.bdyc.manager.bean.Employee.setRole on bean class 'class com.bdyc.manager.bean.Employee' - argument type mismatch - had objects of type "com.bdyc.manager.pojo.Role" but expected signature "com.bdyc.manager.bean.Role"
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2235)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2151)
at org.apache.commons.beanutils.BeanUtilsBean.copyProperty(BeanUtilsBean.java:439)
at org.apache.commons.beanutils.BeanUtilsBean.copyProperties(BeanUtilsBean.java:286)
at org.apache.commons.beanutils.BeanUtils.copyProperties(BeanUtils.java:137)
at com.bdyc.manager.service.EmployeeService.Login(EmployeeService.java:18)
at com.bdyc.manager.servlet.LoginServlet.doGet(LoginServlet.java:21)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2170)
... 26 more


有关BeanUtils.copyProperties的资料我百度谷歌了一天了,重写过好几种方法,都报错,有时候是类中的类没办法复制,有时侯是java.util.Date无法复制(使用Hibernate链接MySQL的时候java.sql.Date使用不成功),还有时候没有catch到错误,但是return的emp是个空值........
已经无奈了,求大神帮忙看一下是哪里出错了~~~
...全文
1151 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
JSONObject必包的Jar包及json生成的简单案例 所有commons包的网址: http://commons.apache.org/index.html 组装和解析JSONObject的Json字符串,共需要下面六个包: 1、json-lib 2、commons-beanutils 3、commons-collections 4、commons-lang 5、commons-logging 6、ezmorph 第零个包: json-lib-2.4-jdk15.jar http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/ 下载地址:http://nchc.dl.sourceforge.net/project/json-lib/json-lib/json-lib-2.4/json-lib-2.4-jdk15.jar 第一个包: commons-beanutils-1.9.2.jar http://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi 下载地址:http://mirrors.cnnic.cn/apache//commons/beanutils/binaries/commons-beanutils-1.9.2-bin.zip 第二个包: (注:此包不可用,改用旧包) commons-collections4-4.0.jar http://commons.apache.org/proper/commons-collections/download_collections.cgi 下载地址:http://apache.dataguru.cn//commons/collections/binaries/commons-collections4-4.0-bin.zip (注:此包可用,低版本的包稳定性更高) commons-collections-3.2.1.jar http://commons.apache.org/proper/commons-collections/download_collections.cgi 下载地址:http://mirrors.hust.edu.cn/apache//commons/collections/binaries/commons-collections-3.2.1-bin.zip 第三个包: (注:此包不可用,会造成程序出错,改用旧包) commons-lang3-3.3.2.jar http://commons.apache.org/proper/commons-lang/download_lang.cgi 下载地址:http://apache.dataguru.cn//commons/lang/binaries/commons-lang3-3.3.2-bin.zip (注:此包可用,低版本的包稳定性更高) commons-lang-2.6-bin http://commons.apache.org/proper/commons-lang/download_lang.cgi?Preferred=http%3A%2F%2Fapache.dataguru.cn%2F 下载地址:http://apache.dataguru.cn//commons/lang/binaries/commons-lang-2.6-bin.zip 第四个包: commons-logging-1.1.3.jar http://commons.apache.org/proper/commons-logging/download_logging.cgi 下载地址:http://apache.dataguru.cn//commons/logging/binaries/commons-logging-1.1.3-bin.zip 第五个包: ezmorph-1.0.2.jar http://ezmorph.sourceforge.net/ http://sourceforge.net/projects/ezmorph/files/ezmorph/ 下载地址:http://nchc.dl.sourceforge.net/project/ezmorph/ezmorph/ezmorph-1.0.6/ezmorph-1.0.6.jar

50,504

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧