Bean property ‘XXX’ is not writable or has an invalid setter method.
原因1-—property里name值和注入的类名称不一致
如:property里name值要与黄色标记的userdao一致
<bean id="userdao" class="com.sss.dao.UserDaoImpl">
</bean>
<bean id="userservice" class="com.sss.service.UserServiceImpl">
<property name="userdao" ref="testdao"></property>
</bean>
private UserDao userdao;
public void setUserdao(UserDao userdao) {
this.userdao = userdao;
}
**原因2—**下面代码里property 的name值 必须是dataSource ,S是大写
<bean name="accountdao" class="com.ssm.dao.accountdaoimpl">
<property name="dataSource" ref="datasource"></property>
</bean>
**原因3—**变量名不符合javabean的命名规范,spring配置文件中元素所指定的属性名和Bean实现类的Setter方法满足Sun JavaBean的属性命名规范:xxx的属性对应setXxx()方法.
一般情况下,Java的属性变量名都以小写字母起头