类比正常new对象后给属性赋值,需要调用set方法给属性赋值
例如:Student student = new Student();
student.setAge(“18”);
步骤如下:
- 创建类
public class Student {
private String name ;
private int age;
public Student() {
System.out.println("spring会调用类的无参数构造方法创建对象");
}
public void setEmail(String email){
System.out.println("setEmail="+email);
}
public void setName(String name) {
System.out.println("setName:"+name);
this.name = name;
}
public void setAge(int age) {
System.out.println("setAge:"+age);
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
- 创bean,一个bean一个对象,在bean里面使用property给属性设置
<bean id="myStudent" class="com.bjpowernode.ba01.Student">
<property name="age" value="23"/>
<property name="name" value="阿飞"/>
<property name="email" value="shaojian@qq.com"/>
</bean>
- 在测试类中实现
@Test
public void test01(){
String config = "ba01/applicationContext.xml";
ApplicationContext ac = new ClassPathXmlApplicationContext(config);
//从容器中获取Student对象
Student myStudent = (Student) ac.getBean("myStudent");
System.out.println("student对象:"+myStudent);
}
说明:
1.在测试类中从上往下执行
2.在执行ApplicationContext ac = new ClassPathXmlApplicationContext(config);时,读取配置文件bean根据class的路径,会调用类的无参构造函数,创建对象
3.接着在bean里面读取property,根据name给相应的属性赋值