bean property is not writable or has an invalid setter method
时间: 2024-05-21 17:15:34 浏览: 235
这个错误通常发生在Java开发中,表示在对JavaBean进行反射操作时,属性没有setter方法或者setter方法不符合JavaBean规范。
解决方法:
1. 确认属性名和setter方法名是否一致,setter方法的命名规范是set+属性名,例如属性名为name,对应的setter方法名应该是setName。
2. 确认setter方法的参数类型是否和属性类型一致,如果不一致,则需要进行类型转换。
3. 确认属性是否有getter方法,如果没有getter方法,则需要添加getter方法。
4. 如果确保以上几点都没有问题,但是仍然出现该错误,可能是由于该属性没有public修饰符导致的,需要将属性的修饰符改为public。
相关问题
Invalid property 'nodeAddresses' of bean class [org.redisson.config.ClusterServersConfig]: Bean property 'nodeAddresses' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
这个错误提示是因为 Redisson 的 ClusterServersConfig 类中没有名为 `nodeAddresses` 的属性。在该类中,用于指定 Redis 节点地址的属性为 `addNodeAddress` 或 `setNodeAddresses`。
以下是使用 Redisson 配置 Cluster 模式的示例 XML 配置,其中使用了 `setNodeAddresses`:
```xml
<bean id="redisson" class="org.redisson.spring.starter.RedissonAutoConfiguration">
<property name="config">
<bean class="org.redisson.config.Config">
<property name="transportMode" value="NIO" />
<property name="threads" value="16" />
<property name="useLinuxNativeEpoll" value="true" />
<property name="clusterServersConfig">
<bean class="org.redisson.config.ClusterServersConfig">
<property name="nodeAddresses">
<set>
<value>redis://127.0.0.1:6379</value>
<value>redis://127.0.0.1:6380</value>
<value>redis://127.0.0.1:6381</value>
</set>
</property>
<property name="scanInterval" value="1000" />
</bean>
</property>
</bean>
</property>
</bean>
```
您可以将 `nodeAddresses` 改为 `setNodeAddresses`,然后重新运行您的应用程序即可。
阅读全文