org.springframework.beans.NotWritablePropertyException解析

本文详细介绍了在使用Struts2+Hibernate+Spring进行开发时,遇到的一个关于Bean属性设置的错误,并分析了错误原因及解决办法。特别强调了在整合开发时注意单词大小写的规范性,避免因小错误导致的大问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天让我郁闷的一个问题,再开发一个***系统的时候,我采用的是struts2+Hibernate3+spring2.5进行开发的,但是就莫名奇妙的出现了一个错误:bug的信息如下:

 

org.springframework.beans.NotWritablePropertyException:
Invalid property 'tStruct' of bean class [com.ac.equipment.dm.Bus]:
Bean property 'tStruct' is not writable or has an invalid setter method.
Did you mean 'tstruct'?
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:805)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:636)
at com.ac.input.dao.impl.BaseDaoImpl.processObject(BaseDaoImpl.java:332)
at com.ac.input.dao.impl.BaseDaoImpl$3.processRow(BaseDaoImpl.java:263)
at org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.extractData(JdbcTemplate.java:1309)
at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:423)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:371)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:433)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:437)
at com.ac.input.dao.impl.BaseDaoImpl.getObjects(BaseDaoImpl.java:252)
.......................................... 


其实我的错误原因是在我的Bean中有一个 private String tStruct的属性,我在对应的setter和getter方法中,我是这样写:

    public void setTStruct(String tStruct){------------}
    public String getTStruct(){-------------}

其实当自动生成代码的时候并不是这样 ,而是settStruct() gettStruct();所以一定要注意第一个单词的大小写的问题 。

 

 

还有在使用hibernate+spring整合开发的时候,一定要注意注入的单词大小写的规范,这一点也在我其他的blog中有说明,希望对你有所帮助!

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'httpInvokerConfig': Unsatisfied dependency expressed through field 'appMerchantService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appMerchantDec' defined in ServletContext resource [/WEB-INF/tpaic-auto-net-servlet.xml]: Cannot resolve reference to bean 'dispatchService' while setting bean property 'dispatch'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dispatchService' defined in ServletContext resource [/WEB-INF/tpaic-auto-net-servlet.xml]: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.tpaic.nonmotor.biz' defined in class path resource [com/tpaic/nonmotor/biz/beanRefContext.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'brandAutoTypeService' defined in class path resource [com/tpaic/nonmotor/biz/brand-service-context.xml]: Cannot resolve reference to bean 'contractBoSupport' while setting bean property 'contractBoSupport'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contractBoSupport' defined in class path resource [com/tpaic/nonmotor/biz/service-bo.xml]: Cannot resolve reference to bean 'inquireDetailService' while setting bean property 'inquireDetailService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'inquireDetailService' defined in class path resource [com/tpaic/nonmotor/biz/service-context-part.xml]: Cannot resolve reference to bean 'inquireDetailBoService' while setting bean property 'inquireDetailBoService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'inquireDetailBoService' defined in class path resource [com/tpaic/nonmotor/biz/service-bo.xml]: Cannot resolve reference to bean 'applyPolicyBo' while setting bean property 'applyPolicyBo'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applyPolicyBo' defined in class path resource [com/tpaic/nonmotor/biz/service-bo.xml]: Cannot resolve reference to bean 'commonParameterSupport' while setting bean property 'common'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonParameterSupport' defined in class path resource [com/tpaic/nonmotor/biz/service-context-part.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'aggregatedSearchService' of bean class [com.tpaic.nonmotor.biz.util.CommonParameterSupport]: Bean property 'aggregatedSearchService' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
最新发布
06-11
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值