STS报告java.sql.Date属性的bean配置错误

时间:2014-06-23 18:14:45

标签: eclipse spring spring-tool-suite

我有一个带有类似属性setter的bean类:

public void setDueDate(java.sql.Date dueDate)

我还有一个用XML配置的bean实例,如下所示:

<property name="dueDate">
    <bean class="java.sql.Date"/>
</property>

STS标记配置错误: No constructor with 0 arguments defined in class 'java.sql.Date'

嗯,这是真的,java.sql.Date没有no-arg构造函数。但是这个应用程序工作得很好,所以很明显Spring非常聪明,可以创建一个没有构造函数的Date实例。问题是,为什么STS编辑/建设者抱怨,是否有可能说服这不是错误或警告?

2 个答案:

答案 0 :(得分:1)

目前,我只能看到代码&#34;将按照其可能发生的顺序运行的3种情况:

  1. 注入属性的父bean是使用scope="prototype"lazy-init="true"定义的,并且根本不会访问
  2. 运行时类路径包含隐藏原始
  3. java.sql.Date实现
  4. 特定上下文xml未在应用程序中使用
  5. 否则,Spring应该发布一个很好的:

    Could not instantiate bean class [java.sql.Date]: No default constructor found; nested exception is java.lang.NoSuchMethodException: java.sql.Date.<init>()
    

答案 1 :(得分:0)

如果代码有效,但STS报告错误,请在https://issuetracker.springsource.com/browse/STS处针对STS提交错误(如上所述)。

与此同时,您可以通过项目的Spring首选项禁用验证来解决此问题。只需转到项目的偏好 - &gt; Spring,然后是“Project Validators”选项卡,并停用负责错误报告的验证。