出现的错误为:
Exception in thread "main" org.springframework.beans.BeanInstantiationException: Failed to instantiate [entity.User]: Is it an abstract class?; nested exception is java.lang.InstantiationException: entity.User
at org.springframework.beans.BeanUtils.instantiate(BeanUtils.java:106)
at org.springframework.jdbc.core.BeanPropertyRowMapper.mapRow(BeanPropertyRowMapper.java:236)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:708)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:737)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:811)
at dao.DaoImpl.findUser(DaoImpl.java:63)
at service.Service.findUser(Service.java:27)
at test.main(test.java:21)
Caused by: java.lang.InstantiationException: entity.User
at java.lang.Class.newInstance(Class.java:427)
at org.springframework.beans.BeanUtils.instantiate(BeanUtils.java:103)
... 12 more
Caused by: java.lang.NoSuchMethodException: entity.User.<init>()
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.newInstance(Class.java:412)
... 13 more
抛出异常是由于实体类的构造函数造成的。
解决办法是:
①要么不设置构造函数。
②要么设置满参构造函数和空参函构造数。