1.Person类
package com.hxzy.model;
public class Person {
private int age;
private String name;
private Car car;
//此处若没有无参构造方法,bean配置文件中会报错“No constructor with 0 arguments defined in class 'com.hxzy.model.Person'”
public Person() {
super();
}
public Person(int age, String name, Car car) {
super();
this.age = age;
this.name = name;
this.car = car;
}
public void setCar(Car car) {
this.car = car;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "age : " + age + " name " + name + " car : " + car;
}
}
2.Car类
package com.hxzy.model;
public class Car {
private String brand;
private String address;
private int speed;
public void setBrand(String brand) {
this.brand = brand;
}
public void setAddress(String address) {
this.address = address;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public Car(String brand, String address, int speed) {
super();
this.brand = brand;
this.address = address;
this.speed = speed;
}
@Override
public String toString() {
return "brand : " + brand + " address : " + address + " speed : " + speed;
}
}
3.bean配置类
<bean id="car" class="com.hxzy.model.Car">
<constructor-arg type="java.lang.String">
<value>宝马</value>
</constructor-arg>
<constructor-arg type="java.lang.String">
<value>天津</value>
</constructor-arg>
<constructor-arg type="int">
<value>200</value>
</constructor-arg>
</bean>
<!-- 如果不在Person类中写一个无参构造方法,此处会报错No constructor with 0 arguments defined in class 'com.hxzy.model.Person' -->
<bean id="person" class="com.hxzy.model.Person">
<property name="age" value="40"></property>
<property name="name" value="gaogao"></property>
<!-- 在一个bean中引用另一个bean -->
<property name="car" ref="car"></property>
</bean>
<!-- 此处的car属性可以赋值为null,如下所示-->
<bean id="people2" class="com.hxzy.People">
<constructor-arg value="西门庆"></constructor-arg>
<constructor-arg value="39"></constructor-arg>
<!--
<constructor-arg ref="car1"> </constructor-arg>
-->
<constructor-arg > <null/></constructor-arg>
</bean>
4.测试类
Person man = (Person) ctx.getBean("person");
System.out.println(man);