请教个Mongodb+Springmvc,查询报错
实体类:Student、WeightAddition、Weight,它们关系如下
14:43:54,166 INFO ClassPathXmlApplicationContext:583 - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@50675690: startup date [Mon Jul 22 14:43:54 CST 2019]; root of context hierarchy
14:43:54,267 INFO XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [spring-context.xml]
Exception in thread "main" org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate com.prc.domain.WeightAddition using constructor public com.prc.domain.WeightAddition(com.prc.domain.WeightAdditionPackagesType,double,com.prc.domain.WeightAddition$Weight) with arguments AllPackage,0.0,0.0
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:78)
at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:83)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:251)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:231)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1186)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$200(MappingMongoConverter.java:78)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1134)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:870)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:283)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:271)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:309)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:271)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:231)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:191)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:187)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:78)
at org.springframework.data.mongodb.core.MongoTemplate$ReadDbObjectCallback.doWith(MongoTemplate.java:2230)
at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1906)
at org.springframework.data.mongodb.core.MongoTemplate.findAll(MongoTemplate.java:1312)
at org.springframework.data.mongodb.core.MongoTemplate.findAll(MongoTemplate.java:1308)
at com.prc.daoImpl.StudentImpl.findAll(StudentImpl.java:82)
at com.prc.test.TestMongo.main(TestMongo.java:53)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.prc.domain.WeightAddition]: Illegal arguments for constructor; nested exception is java.lang.IllegalArgumentException: argument type mismatch
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:151)
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:76)
... 21 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
public class Student {
@Id
private String code;
private String name;
private WeightAddition weightAddition;
public Student() {
//this.user = new User(1, "3434", SexEnum.MAN, new Weight(0, WeightUnit.KG));
this.weightAddition = new WeightAddition(new WeightAddition.Weight(0, WeightUnit.KG));
}
public class WeightAddition
{
/// 最大加成重量
private double maxAdditionWeight ;
/// 最大加成重量单位
private WeightUnit maxAdditionWeightUnit ;
public WeightAddition(Weight maxAdditionWeight)
{
this.maxAdditionWeight = maxAdditionWeight.value;
this.maxAdditionWeightUnit = maxAdditionWeight.weightUnit;
}
public static class Weight {
private double value;
private WeightUnit weightUnit;
public Weight(double value, WeightUnit weightUnit) {
this.value = value;
this.weightUnit = weightUnit;
}
}
当查询数据后不知道(List<Student> studentList=mongo.findAll();),会报错呢
报错信息如:14:43:54,166 INFO ClassPathXmlApplicationContext:583 - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@50675690: startup date [Mon Jul 22 14:43:54 CST 2019]; root of context hierarchy
14:43:54,267 INFO XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [spring-context.xml]
Exception in thread "main" org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate com.prc.domain.WeightAddition using constructor public com.prc.domain.WeightAddition(com.prc.domain.WeightAdditionPackagesType,double,com.prc.domain.WeightAddition$Weight) with arguments AllPackage,0.0,0.0
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:78)
at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:83)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:251)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:231)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1186)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$200(MappingMongoConverter.java:78)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1134)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:870)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:283)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:271)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:309)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:271)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:231)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:191)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:187)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:78)
at org.springframework.data.mongodb.core.MongoTemplate$ReadDbObjectCallback.doWith(MongoTemplate.java:2230)
at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1906)
at org.springframework.data.mongodb.core.MongoTemplate.findAll(MongoTemplate.java:1312)
at org.springframework.data.mongodb.core.MongoTemplate.findAll(MongoTemplate.java:1308)
at com.prc.daoImpl.StudentImpl.findAll(StudentImpl.java:82)
at com.prc.test.TestMongo.main(TestMongo.java:53)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.prc.domain.WeightAddition]: Illegal arguments for constructor; nested exception is java.lang.IllegalArgumentException: argument type mismatch
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:151)
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:76)
... 21 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
...全文
相关推荐
springMVC+mybitis+mongodb+maven整合
在构建企业级Web应用时,将SpringMVC、MyBatis、MongoDB和Maven进行整合是常见的技术栈选择。
springMVC集成mongoDB的demo
MongoDB支持丰富的查询语法,提供了高性能的读写操作,并且具有良好的水平扩展能力。将SpringMVC与MongoDB集成,可以利用Spring框架的管理能力和MongoDB的灵活性。
springmvc+mongodb+maven 项目搭建配置
在项目中,开发者可能已经完成了一些基本的端点,比如用户注册、登录、查询等,这些都是通过SpringMVC和MongoDB实现的。
SpringMVC+mongodb应用实例
在"单元测试查询效率"阶段,我们将利用Spring的测试框架编写针对MongoDB查询的单元测试。这里可以测试查询的性能,比如查询速度、内存消耗等。
SpringMVC+Shiro+MongoDB+BootStrap基础框架
SpringMVC+Shiro+MongoDB基础框架,maven管理包,直接下载可用。这是一个空白的基础项目,可以很方便的在上面进行开发,目前在此基础上加上了BootStrap后台模版,如果进行后台


