问题解决spring无法注入

以下异常:
Bean property 'wRegularForecastDao' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?无法将dao注入到service中,在service中已经设置好了wRegularForecastDao该属性的set和get,并且在spring的配置文件中已经配置好了对应的id,无论采用byname注入还是bytype注入或者是手动注入,都无法正确注入,愁了两个小时,不知道什么原因,后来从网上找资料,有人说 是由于变量名命名不规范导致,后来修改为wregularForecastDao,将第二个字母改成小写就ok了,spring遵循javabean的命名规范,变量的前两个字母,要么全部大写,要么全部小写。

以下是网络摘抄:

直接翻译就是 名称为“xxx”的bean不能进行写操作或者有一个无效的setter方法

Bean property 'xxx' is not writable or has an invalid setter method. Did you mean 'xxx'?
这是以前处理过的老问题了,但是最近又出现了。
这样的问题一般有几种可能
1 变量名错误 ,这是比较简单的错误 仔细核对注入的值和变量是否一致
2 变量名不符合javabean的命名规范
这是比较恶心的错误
JavaBean关于属性命名的特殊规范
spring配置文件中<property>元素所指定的属性名和Bean实现类的Setter方法满足Sun JavaBean的属性命名规范:xxx的属
性对应setXxx()方法.
一般情况下,Java的属性变量名都以小写字母起头,如:maxSpeed.但也存在特殊的情况,考虑到一些特定意义的大写英文缩略
词(如:USA,XML),JavaBean也允许大写字母起头的属性变量名,不过必须满足: 变量的前两个字母要么全部大写,要么全部小写.
如:iC,iCcard,iDcode这些都不合法的.
例如我有一个属性叫 Db 就会出错。。。不得已我换成了dbUtil

猜你喜欢

转载自dong-shuai22-126-com.iteye.com/blog/1517300