package com.protect.shapes;
public class Triangle {
String Type = null;
String type = null;
public String getType() {
return Type;
}
public void setType(String Type) {
this.Type = Type;
}
public String gettype() {
return type;
}
public void settype(String type) {
this.type = type;
}
public void draw() {
System.out.println("Drawing " + type + " Triangle. " + Type);
}
}
Configuration file.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Project beans go here -->
<bean id="triangle" class="com.protect.shapes.Triangle">
<property name="Type" value="Equilateral">
</property>
</bean>
我试图检查Spring如何处理区分大小写的属性名称但无法弄明白:对于我设置的type
和Type
字段,我得到相同的输出
"Drawing Equilateral Triangle. null".
您能解释一下为什么以及如何实例化Type
字段。
答案 0 :(得分:1)
Spring无法找到Type
属性的setter:
setType
不会这样做,因为根据引用type
属性的java beans specification settype
无效,因为根据相同的规范,它未被识别为属性设置器。如果你想要一个大写的名字属性,它应该以(至少)两个大写字母开头,例如
public void setPType(...) {
...
}
和
<property name="PType" value="..."/>
检查规范的第8.8节。