public class HelloWorld {
private String name;
public void setNameis(String name) { //set后面的nameis要和配置文件中定义的豆子bean的那么对应
System.out.println("setnameis "+name);
this.name = name;
}
public void Hello(){
System.out.println("hello "+name);
}
public HelloWorld(){ //构造方法
System.out.println("you are welcome");
} //构造方法
}
<bean id="hello" class="com.atguigu.spring.beans.HelloWorld">
<property name="nameis" value="iljiuhggy"></property>
</bean>
package com.atguigu.spring.beans;
public class configue {
private String carname;
private String carsize;
private int speed;
public void setBaoma(String baoma) {
this.baoma = baoma;
}
private String baoma;
public configue(String carname, String carsize,String baoma) { //构造方法参数可调整
this.carname = carname;
this.carsize = carsize;
this.baoma = baoma;
}
public configue(String carname, String carsize, int speed) { //构造方法参数可调整,构造方法是没有类型的
this.carname = carname;
this.carsize = carsize;
this.speed = speed;
}
@Override
public String toString() {
return "configue{" +
"carname='" + carname + '\'' +
", carsize='" + carsize + '\'' +
", speed=" + speed +
", baoma='" + baoma + '\'' +
'}';
}
}
<bean id="first" class="com.atguigu.spring.beans.configue">
<constructor-arg value="nihao" type="java.lang.String"></constructor-arg>
<!--如果字符中存在特殊字符可以使用![cdata[]]来实现-->
<constructor-arg type="java.lang.String"><value><![CDATA[~‘’‘’dwdadw]]></value></constructor-arg>
<!--也可以用value子节点来表示-->
<constructor-arg type="int">
<value>123
</value>
</constructor-arg>
</bean>
<bean id="second" class="com.atguigu.spring.beans.configue">
<constructor-arg value="nihao" type="java.lang.String"></constructor-arg>
<constructor-arg value="woshi" type="java.lang.String"></constructor-arg>
<!--测试赋值null值-->
<constructor-arg value="sqdw" type="java.lang.String"></constructor-arg>
</bean>
2
package com.atguigu.spring.beans;
public class person {
private String name;
private String age;
private configue c;
public person(String name, String age, configue c) {
this.name = name;
this.age = age;
this.c = c;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public configue getC() {
return c;
}
public void setC(configue c) {
this.c = c;
}
@Override
public String toString() {
return "person{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
", c=" + c +
'}';
}
}
<bean id="three" class="com.atguigu.spring.beans.person">
<constructor-arg value="小敏"></constructor-arg>
<constructor-arg value="23"></constructor-arg>
<constructor-arg ref="first"></constructor-arg>
<!--为级联属性赋值。注意:属性需要先初始化后才可以为级联属性赋值。否则会有异常,和structs不同-->
<property name="c.baoma" value="jiade"></property>
</bean>
<bean id="four" class="com.atguigu.spring.collection.person">
<property name="name" value="tom"></property>
<property name="age" value="12"></property>
<!--使用list节点为list属性的值赋值-->
<property name="cS">
<list>
<ref bean="first"></ref>
<ref bean="second"></ref>
<bean class="com.atguigu.spring.beans.configue">
<constructor-arg value="nihao" type="java.lang.String"></constructor-arg>
<constructor-arg value="woshi" type="java.lang.String"></constructor-arg>
<constructor-arg value="sqdw" type="java.lang.String"></constructor-arg>
</bean>
</list>
</property>
</bean>
3
4
5.集合属性的设置,list,map,set标签,还可以书写内部bean
配置map属性
调用写好的内部集合属性,map,list,propertys