【发布时间】: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。跨度>