Spring的bug?

 今天在做几个报表,s1sh,配置spring,我的 service 里的dao 都定义为形似

private TwaterDAO tWaterDao;

然后习惯性用myeclipse生成get set方法,一共有四个这样的service

主要是set方法:

private TwaterDAO tWaterDao;
public void setTWaterDao(TwaterDAO tWaterDao){ 
   this.tWaterDao=tWaterDao; 
} 

  

 

在spring的配置文件里确保正确配置了,结果在启动应用初始化到这一起,这个service就是不能创建,说TwaterDao没有set方法....找了几个同事也没能解决,确保配置及代码都到位了.结果把

private TwaterDAO tWaterDao; 改为
 private TwaterDAO waterDao;//即把前面的t去掉,再重新写set方法 

public void setwaterDao(...){
   
 .... 
} 

 

 

相应的spring中也改名,结果可以了,莫非前面带个t就不能识别set方法了?

这是JavaBean的基本要求,也是有可能让大家不小心犯错的地方:
其实从JavaBean的规范本身来讲,应当说的也比较含糊,导致大家都比较迷糊:)
对于JavaBean的属性xxx来讲,
setXxx
getXxx
天经地义
对于boolean类型则可以
isXxx

命名方面来讲,第一个字母一定要小而,而且随后的字母也要为小写,直到下一个单词的第一个字母开始,应为大写。同时,要注意的是,下划线最好也不要使用。
比如:username、password、codeNo、myHome之类的,

于来问题来了,有人说,我是X-Man啊,于是取了一个xMan,那。。。你就太X了啦。

对于属性来讲,是取有意义的单词,你来个xMan可不是单词啊,你又说我就是牛X我的属性就一个x啊,然后再加个Man,可注意了,你x不x不是你说了算,你x也只是个字母,不能算单词,于是你再怎么X-Man的话,也就委屈一下成为xman吧。。。

于是乎,对于JavaBean来讲,第一个与第二个字母都给我小写之。。。

以上纯属字面意义上面来讲,技术层面的代码也可以说明这个问题的。。。

另外推荐一篇很好的文章:
The Unknown JavaBean:
[url]http://weblogs.java.net/blog/rbair/archive/2006/05/the_unknown_jav.html[/url]

大小写要遵循java bean的命名规范

关于这个问题,这里有较为详细的讨论可以看看:
http://www.iteye.com/topic/103184

跟T没关系...开头的几个字母最好都是小写...

大小写要遵循java bean的命名规范

规则还是要遵守比较好,方便自己也方便他人

命名,第二个字母绝对不可以大写,否则判断不出来名称。 这不是spring的bug,使自己的命名问题

跟t没有关系,你的tWaterDao是不是已经被用了?