读书人

Spring中对set步骤的命名的限制

发布时间: 2012-11-14 10:12:18 作者: rapoo

Spring中对set方法的命名的限制
如果属性名称为name,set方法是否一定要是setName
类推:属性名称为id,set方法是否一定要是setId

请问Spring对bean类是不是要求这种命名规范

还是说随便命名都可以

[解决办法]
6楼说的很对,对于spring的依赖注入和你的属性名称没一点关系它是根据你的写方法也就是set方法的名称
例如你类中有个属性private String name;
public void setMyName(String name) {
this.name = name;
}

可以看到属性和它的写方法并不是按照常规那样去定义,如果你spring配置文件中有id名称为myName的话它会通过反射调用setMyName方法将bean注入进去,这时候实际上你name属性就有值了,可以看出来spring的注入和你的属性名称没任何关系它和你的写方法的名称有关系。
但是通常情况我们都会以属性的名称去定义生成读和写方法,很少会看到读和写方法与属性名称不一致的吧。也不建议那样做啊,
[解决办法]
LZ我之前也很好奇这个命名规则问题,今天去试了一下(spring3.0),如果定义String类型的username
配置了XML如下:

XML code
<property name="username" value="abcde"></property> 

读书人网 >J2EE开发

热点推荐