NotWritablePropertyException

本文探讨了在WebLogic Server 9.2上部署Spring应用时遇到的NotWritablePropertyException异常问题。通过调整Bean属性名的大小写,成功解决了由特定命名规则引发的异常。
在 WebLogic Server 9.2 上部署 Spring 时,抛出 NotWritablePropertyException 异常。根据 stack 信息显示发现是无法装配 某些 bean 相关的 property。但是配置信息都是依据 Spring 的的规范进行配置的,不可能产生错误的。

后来在网上搜索一下相关的资料发现好多同学都碰到这种情况,而且产生异常的原因比较古怪。大部分都是由于 Class 的 property 名称引起的,也就是变量名称的第二个字母不能为大写。例如:

.....
private ERgotAdapter eRgotAdapter;

public void setERgotAdapter(ERgotAdapter eRgotAdapter) {
    
this.eRgotAdater = eRgotAdapter
}
......

当然 Spring 配置文件就会如下所示:

<bean id....
    <property name
="eRgotAdapter">
        
<ref bean="eRgotAdapter"/>
    
</property>
</bean>

此时如果启动 weblogic 定然会报错,后来修改为如下的方式后即可正常启动:
.....
private ERgotAdapter ergotAdapter;

public void setErgotAdapter(ERgotAdapter ergotAdapter) ...{
    
this.ergotAdater = ergotAdapter
}

......

<bean id....
    <property name
="ergotAdapter">
        
<ref bean="eRgotAdapter"/>
    
</property>
</bean>

目前还不知道具体是什么导致了这个问题的发生。
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值