Eclipse STS在java.sql.Date属性的bean配置中报告错误
我有一个带有如下属性设置器的bean类:Eclipse STS在java.sql.Date属性的bean配置中报告错误,eclipse,spring,spring-tool-suite,Eclipse,Spring,Spring Tool Suite,我有一个带有如下属性设置器的bean类: public void setDueDate(java.sql.Date dueDate) <property name="dueDate"> <bean class="java.sql.Date"/> </property> 我还有一个用XML配置的bean实例,如下所示: public void setDueDate(java.sql.Date dueDate) <property name="
public void setDueDate(java.sql.Date dueDate)
<property name="dueDate">
<bean class="java.sql.Date"/>
</property>
我还有一个用XML配置的bean实例,如下所示:
public void setDueDate(java.sql.Date dueDate)
<property name="dueDate">
<bean class="java.sql.Date"/>
</property>
STS将该配置标记为错误:
类“java.sql.Date”中未定义具有0个参数的构造函数
没错,
java.sql.Date
没有arg构造函数。但是这个应用程序运行得很好,所以Spring显然足够聪明,可以创建一个Date
实例,而不需要构造函数。问题是,为什么STS编辑/构建者会抱怨,是否有可能说服它这不是一个错误或警告?目前,我只能看到3种情况,其中代码“将起作用”,按发生的可能性顺序排列:
scope=“prototype”
或lazy init=“true”
定义的,根本不被访问java.sql.Date
的一个实现,它隐藏了原始类路径Could not instantiate bean class [java.sql.Date]: No default constructor found; nested exception is java.lang.NoSuchMethodException: java.sql.Date.<init>()
无法实例化bean类[java.sql.Date]:未找到默认构造函数;嵌套异常为java.lang.NoSuchMethodException:java.sql.Date。()
如果代码正常,但STS报告错误,请在(如上所述)针对STS提交错误
同时,您可以通过项目的Spring首选项禁用验证来解决这个问题。只需转到项目的首选项->Spring,然后是“项目验证程序”选项卡,并停用导致错误错误报告的验证。如果代码正常工作,那么这看起来像是STS中的错误。你可以在Spring论坛上写一篇JIRA()或帖子。你知道了,有这个问题的bean都被定义为
prototype
,在我的测试中,到目前为止,它们还没有被实际访问(还有一些调查要做,因为这个应用程序是由一些具有不同参数和输入数据的批处理脚本调用的).我不习惯拥有或看到太多的原型bean,所以我甚至没有想过去寻找它。啊,跳入现有应用程序的危险。很高兴我能提供帮助;享受遗留代码的乐趣:)