【问题标题】:Invalid property 'tempsReglementaireBusiness' of bean classbean 类的无效属性“tempsReglementaireBusiness”
【发布时间】:2013-12-12 23:03:58
【问题描述】:

我的 Web 应用程序中有一个无效的 bean 类属性“tempsReglementaireBusiness”

我的班级:

public class ExportDepassement12HeuresCSV {

    @Autowired
    private TempsReglementaireBusiness tempsReglementaireBusiness;

...
}

我的应用上下文服务:

    <bean id="exportDepassement12heuresCSV"
        class="fr.edfgdf.tamaris.intervention.goulotte.export.ExportDepassement12HeuresCSV">
    <property name="tempsReglementaireBusiness" ref="tempsReglementaireBusiness"></property>
    </bean>

....
    <bean id="tempsReglementaireBusiness"
        class="fr.edfgdf.tamaris.intervention.goulotte.service.impl.TempsReglementaireBusinessImpl">
        <property name="ressourceManager" ref="ressourceManager" />
        <property name="affectationRessourceManager" ref="affectationRessourceManager" />
        <property name="cacheManager" ref="cacheManager" />
        <property name="affectationActiviteManager" ref="affectationActiviteManager" />
        <property name="mainOeuvreManager" ref="mainOeuvreManager" />
        <property name="reportingReposService" ref="reportingReposService" />
        <property name="tourneeManager" ref="tourneeManager" />
        <property name="entiteManager" ref="entiteManager" />
        <property name="rvaEntiteRegionaleManager" ref="rvaEntiteRegionaleManager" />
        <property name="rvaEntiteRegionaleDtoTranslator" ref="rvaEntiteRegionaleDtoTranslator" />
        <property name="exportService" ref="exportService" />
        <property name="exportMessageSender" ref="exportMessageSender" />
        <property name="motifDepassementManager" ref="motifDepassementManager" />
        <property name="activiteLocaleManager" ref="activiteLocaleManager" />
        <property name="activiteNationaleManager" ref="activiteNationaleManager" />
        <property name="interventionManager" ref="interventionManager" />
        <property name="depassementTempsManager" ref="depassementTempsManager" />
    </bean>

...

All 已声明,但当我编译时出现此错误:

引起:org.springframework.beans.NotWritablePropertyException: bean 类的无效属性“tempsReglementaireBusiness” [fr.edfgdf.tamaris.intervention.goulotte.export.ExportDepassement12HeuresCSV]: Bean 属性“tempsReglementaireBusiness”不可写或具有 无效的setter方法。设置器的参数类型是否匹配 getter 的返回类型?在 org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1064) 在 org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:924) 在 org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76) 在 org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) 截断。查看完整堆栈跟踪的日志文件

谢谢。

【问题讨论】:

  • 属性是私有的,异常告诉你'tempsReglementaireBusiness' is not writable or has an invalid setter method - setter 是什么样的?
  • @Thomas 我用过 Autowired
  • 这就是我讨厌 Spring 的原因。
  • @Mercer 我不知道 Autowired 的详细信息,但消息告诉 Spring 正在寻找一个 setter,所以 Autowired 需要一个 setter,或者你的配置覆盖了注释并且没有使用 Autowired。跨度>

标签: java spring


【解决方案1】:

由于您已在 ExportDepassement12HeuresCSV 类中自动连接 TempsReglementaireBusiness,因此您无需在配置文件中定义 ExportDepassement12HeuresCSV 时为此定义 property 条目。将ExportDepassement12HeuresCSV的bean定义改成这样:

<bean id="exportDepassement12heuresCSV"
      class="fr.edfgdf.tamaris.intervention.goulotte.export.ExportDepassement12HeuresCSV">

</bean>

【讨论】:

  • 不起作用我的变量不是 initilaisez,我有空指针异常
  • 尝试将@Qualifier("tempsReglementaireBusiness")@Autowired 添加到private TempsReglementaireBusiness tempsReglementaireBusiness;
  • 你能用你所做的更改和新的堆栈跟踪来编辑你的问题吗?或者您可以尝试在 ExportDepassement12HeuresCSV 类中添加 getter/setter fortempsReglementaireBusiness 并删除 @Autowired 注释。这里需要将tempsReglementaireBusiness 定义为ExportDepassement12HeuresCSV bean 的属性。
猜你喜欢
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2015-10-21
  • 1970-01-01
  • 2019-12-01
相关资源
最近更新 更多