java 属性命名规范_Java Bean属性命名规范问题分析

Java Bean属性命名规范问题分析

Eclipse根据这种方式生成getter访问器和setter设值器,由于属性名isShowCode的is 没有去掉,以致java bean类违背了java bean 的命名规范。

问题由来:

最近在一个java bean类中定义了一个boolean类型的变量:

1.//boolean属性:是否显示

2.private boolean isShowCode ;

3.

4.//使用Eclipse自动生成getter/setter方法如下:

5.public boolean isShowCode() {

6.return isShowCode;

7.}

8.public void setShowCode(boolean isShowCode) {

9.this.isShowCode = isShowCode;

10.}

spring在给java bean 设置值的时候,抛出异常:

1.Caused by: org.springframework.beans.NotWritablePropertyException:

2.Invalid property 'isShowCode' of bean class [com.codemouse.beans.Count

ry]:

3.Bean property 'isShowCode' is not writable or has an invalid setter me

thod.

4.Did you mean 'showCode'?

5.at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrap

perImpl.java:1064)

代码运行环境: jdk 1.6 + eclipse 3.2 + spring 3.1, 本文下面的代码都在该环境下测试。

原因跟踪分析:跟踪Spring源码,可以看到下面这段代码:

1.private CachedIntrospectionResults(Class beanClass,

2.boolean cacheFullMetadata) throws BeansException {

3. ... ...

4.this.beanInfo = new ExtendedBeanInfo(Introspector.getBeanInfo(bean

Class));

5. ... ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值