gpt4 book ai didi

java - Spring:Bean 属性不可写或具有无效的 setter 方法

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:12 24 4
gpt4 key购买 nike

我知道这个问题已被问过多次,但在我看来,一切都是正确的。我还从 Eclipse 中删除了代码,并让 IDE 创建 getter/setter,但没有效果。

这是我在 weblogic 中的错误:

引起:org.springframework.beans.NotWritablePropertyException:bean 类 [com.fedex.dire.webservices.direservice.dao.GPSDataDaoImpl] 的无效属性“gpsDataAllStopsSql”:Bean 属性“gpsDataAllStopsSql”不可写或具有无效的 setter 方法。 setter 的参数类型与 getter 的返回类型是否匹配?

这是我的上下文中的 Bean 和属性:

<bean id="dataDao" class="com.text.service.dao.DataDaoImpl" >
<property name="dataSource" ref="dataSource" />
<property name="gpsDataAllStopsSql">
<value><![CDATA[SELECT A.XML_DATA,B.ADDR1,B.ADDR2,B.POSTALCODE FROM GPS.EVENT_STAMP A LEFT OUTER JOIN DB.SCAN B ON A.FAC_IORG_NBR=B.FACILITY AND A.SCANNER_DATE=B.SCANDATE AND A.SCANNER_ID=B.SCANNERID AND A.PD_START_TIME=B.PDSTART WHERE FAC_IORG_NBR = ? AND SCANNER_DATE = CAST(? AS DATE) AND SCANNER_ID = ? AND PD_START_TIME = ?]]></value>
</property>
<property name="gpsDataSql">
<value><![CDATA[SELECT A.XML_DATA,A.STOP_NUMBER,B.ADDR1,B.ADDR2,B.POSTALCODE FROM GPS.EVENT_STAMP A LEFT OUTER JOIN DB.SCAN B ON A.STOP_NUMBER=B.STOP# AND A.FAC_IORG_NBR=B.FACILITY AND A.SCANNER_DATE=B.SCANDATE AND A.SCANNER_ID=B.SCANNERID AND A.PD_START_TIME=B.PDSTART WHERE FAC_IORG_NBR = ? AND SCANNER_DATE = CAST(? AS DATE) AND SCANNER_ID = ? AND PD_START_TIME = ? AND STOP_NUMBER = ?]]></value>
</property>
</bean>

以下是我的 DaoImpl 中的 getter 和 setter 方法:

private static String gpsDataSql = null;

private static String gpsDataAllStopsSql = null;

public static String getGpsDataSql() {
return gpsDataSql;
}

public static void setGpsDataSql(String gpsDataSql) {
DataDaoImpl.gpsDataSql = gpsDataSql;
}

public static String getGpsDataAllStopsSql() {
return gpsDataAllStopsSql;
}

public static void setGpsDataAllStopsSql(String gpsDataAllStopsSql) {
DataDaoImpl.gpsDataAllStopsSql = gpsDataAllStopsSql;
}

我的眼睛是否在滑过某些东西,或者可能是我的环境的另一个问题?

谢谢!

最佳答案

您在 XML 中声明的 bean 尝试设置 DataDaoImpl 类中存在的属性。为了使其正常工作,请删除静态成员并为您的类尝试以下操作:

package com.text.service.dao;

public class DataDaoImpl extends SomeOtherDaoWhereDataSourceIsDefined {
private String gpsDataAllStopsSql;
private String gpsDataSql;

public String getGpsDataAllStopsSql() {
return gpsDataAllStopsSql;
}

public void setGpsDataAllStopsSql(String gpsDataAllStopsSql) {
this.gpsDataAllStopsSql = gpsDataAllStopsSql;
}

public String getGpsDataSql() {
return gpsDataSql;
}

public void setGpsDataSql(String gpsDataSql) {
this.gpsDataSql = gpsDataSql;
}
}

This article解释静态与非静态成员的用法。

关于java - Spring:Bean 属性不可写或具有无效的 setter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28180528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com