Java Spring数据Mongodb中的findAll()不工作

Java Spring数据Mongodb中的findAll()不工作,java,spring,mongodb,spring-mvc,spring-data-mongodb,Java,Spring,Mongodb,Spring Mvc,Spring Data Mongodb,当我试图从数据库检索数据时,MongoOperations类的findAll()方法有问题。实际上我想得到参数的值:iliteID、纬度、经度、高度等等。。 有人能帮忙解决这个问题吗 提前谢谢 以下是数据库中的数据结构: (注意:数据以表单形式输入,并从Servlet保存到数据库中) 下面是java代码: protected List<ILites> getAllILites(){ ApplicationContext ctx = new AnnotationConfigAp

当我试图从数据库检索数据时,MongoOperations类的findAll()方法有问题。实际上我想得到参数的值:iliteID、纬度、经度、高度等等。。 有人能帮忙解决这个问题吗

提前谢谢

以下是数据库中的数据结构: (注意:数据以表单形式输入,并从Servlet保存到数据库中)

下面是java代码:

protected List<ILites> getAllILites(){
    ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class);
    MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate");

    List<ILites> ilites = mongoOperation.findAll(ILites.class, "ILites");

    System.out.println("#3 for advance");
    for (ILites temp : ilites) {

        // I am getting an "null" value instead of the value of the longitude
        System.out.println(temp.getLongitude());

        //This displays something like this : mongodb.model.ILites@732cbcd5 (which i don't really understand)
        System.out.println(temp);
    }

    return ilites;
}
Spring控制器类

/**
 *
 * @output ModelAndView
 * @description redirect to dashboard
 */

@RequestMapping(value = "/adminDashboard", method = RequestMethod.GET)
public ModelAndView adminPage() {
    userDao.updateLastLogin(getCurrentUser());
    final ModelAndView model = new ModelAndView();
    model.addObject("iLiteList", getAllILites());
    model.setViewName("adminDashboard");
    return model;
}
实体类

@Document(collection = "ILites")
public class ILites {

private String status;
private String ipAddress;
private String transmission;
private String connectivity;
private String emergencyMessage;
private String nominalMessage;
//private String manualCommand;
private Double latitude;
private Double longitude;
private Double currentPower;
private Double targetPower;
private Double height;

/**
 * Primary key - Unique Identifier
 */
@Id
private String iLiteID;

public ILites(final String iLiteID, final String status,final String ipAddress,
    final String transmission, final String connectivity,final String emergencyMessage,
    final String nominalMessage,  final Double latitude,
    final Double longitude, final Double currentPower,final Double targetPower,final Double height) {
super();
this.iLiteID = iLiteID;
this.status = status;
this.ipAddress = ipAddress;
this.transmission = transmission;
this.connectivity = connectivity;
this.emergencyMessage = emergencyMessage;
this.nominalMessage = nominalMessage;
//this.manualCommand = manualCommand;
this.longitude = longitude;
this.latitude = latitude;

this.currentPower = currentPower;
this.targetPower = targetPower;
this.height = height;
 }


public Double getHeight() {
    return height;
}


public void setHeight(Double height) {
    this.height = height;
}


public String getILiteID() {
    return iLiteID;
}

public void setILiteID(String iLiteID) {
    this.iLiteID = iLiteID;
}

public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

public String getIpAddress() {
    return ipAddress;
}

public void setIpAddress(String ipAddress) {
    this.ipAddress = ipAddress;
}

public String getTransmission() {
    return transmission;
}

public void setTransmission(String transmission) {
    this.transmission = transmission;
}

public String getConnectivity() {
    return connectivity;
}

public void setConnectivity(String connectivity) {
    this.connectivity = connectivity;
}

public String getEmergencyMessage() {
    return emergencyMessage;
}

public void setEmergencyMessage(String emergencyMessage) {
    this.emergencyMessage = emergencyMessage;
}

public String getNominalMessage() {
    return nominalMessage;
}

public void setNominalMessage(String nominalMessage) {
    this.nominalMessage = nominalMessage;
}

/*public String getManualCommand() {
    return manualCommand;
}

public void setManualCommand(String manualCommand) {
    this.manualCommand = manualCommand;
}
*/
public Double getLatitude() {
    return latitude;
}

public void setLatitude(Double latitude) {
    this.latitude = latitude;
}

public Double getLongitude() {
    return longitude;
}

public void setLongitude(Double longitude){
    this.longitude = longitude;
}

public Double getCurrentPower() {
    return currentPower;
}

public void setCurrentPower(Double currentPower) {
    this.currentPower = currentPower;
}

public Double getTargetPower() {
    return targetPower;
}

public void setTargetPower(Double targetPower) {
    this.targetPower = targetPower;
}

}

你没有真正解释你的问题。但我猜,您希望值height、status和Ipaddress存储在ILites对象中。尝试用@JsonProperty注释模型字段。很抱歉,我需要高度、状态等值。。要存储在ILites对象中。你是说像这样的@JsonProperty私有字符串状态;看这里。当我在spring项目中使用jackson注释时,我发现它们非常有用。这只是一个建议。对于给出的信息,我仍然帮不上什么忙。很抱歉,我对SpringJava非常熟悉。当我按照您的建议注释字段时,例如@JsonProperty(“Status”),它被标记为错误,spring建议的快速修复方法如下:@create annotation“JsonProperty”或Fix project setup。我该选哪一个?或者有其他方法可以修复此错误?好的,您缺少必要的库。总之,你需要学习基础知识。我建议在继续之前阅读有关java、maven、spring数据和spring mongo集成的简单教程。需要时间,但帮助很大。
/**
 *
 * @output ModelAndView
 * @description redirect to dashboard
 */

@RequestMapping(value = "/adminDashboard", method = RequestMethod.GET)
public ModelAndView adminPage() {
    userDao.updateLastLogin(getCurrentUser());
    final ModelAndView model = new ModelAndView();
    model.addObject("iLiteList", getAllILites());
    model.setViewName("adminDashboard");
    return model;
}
@Document(collection = "ILites")
public class ILites {

private String status;
private String ipAddress;
private String transmission;
private String connectivity;
private String emergencyMessage;
private String nominalMessage;
//private String manualCommand;
private Double latitude;
private Double longitude;
private Double currentPower;
private Double targetPower;
private Double height;

/**
 * Primary key - Unique Identifier
 */
@Id
private String iLiteID;

public ILites(final String iLiteID, final String status,final String ipAddress,
    final String transmission, final String connectivity,final String emergencyMessage,
    final String nominalMessage,  final Double latitude,
    final Double longitude, final Double currentPower,final Double targetPower,final Double height) {
super();
this.iLiteID = iLiteID;
this.status = status;
this.ipAddress = ipAddress;
this.transmission = transmission;
this.connectivity = connectivity;
this.emergencyMessage = emergencyMessage;
this.nominalMessage = nominalMessage;
//this.manualCommand = manualCommand;
this.longitude = longitude;
this.latitude = latitude;

this.currentPower = currentPower;
this.targetPower = targetPower;
this.height = height;
 }


public Double getHeight() {
    return height;
}


public void setHeight(Double height) {
    this.height = height;
}


public String getILiteID() {
    return iLiteID;
}

public void setILiteID(String iLiteID) {
    this.iLiteID = iLiteID;
}

public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

public String getIpAddress() {
    return ipAddress;
}

public void setIpAddress(String ipAddress) {
    this.ipAddress = ipAddress;
}

public String getTransmission() {
    return transmission;
}

public void setTransmission(String transmission) {
    this.transmission = transmission;
}

public String getConnectivity() {
    return connectivity;
}

public void setConnectivity(String connectivity) {
    this.connectivity = connectivity;
}

public String getEmergencyMessage() {
    return emergencyMessage;
}

public void setEmergencyMessage(String emergencyMessage) {
    this.emergencyMessage = emergencyMessage;
}

public String getNominalMessage() {
    return nominalMessage;
}

public void setNominalMessage(String nominalMessage) {
    this.nominalMessage = nominalMessage;
}

/*public String getManualCommand() {
    return manualCommand;
}

public void setManualCommand(String manualCommand) {
    this.manualCommand = manualCommand;
}
*/
public Double getLatitude() {
    return latitude;
}

public void setLatitude(Double latitude) {
    this.latitude = latitude;
}

public Double getLongitude() {
    return longitude;
}

public void setLongitude(Double longitude){
    this.longitude = longitude;
}

public Double getCurrentPower() {
    return currentPower;
}

public void setCurrentPower(Double currentPower) {
    this.currentPower = currentPower;
}

public Double getTargetPower() {
    return targetPower;
}

public void setTargetPower(Double targetPower) {
    this.targetPower = targetPower;
}

}