使用XML配置方式,复制项目spring4为springTest4, 添加一个名为Classes的类,属性有班级编号、班级名称。修改Student类,添加classes属性。在配置文件时定义一个id为classes的Bean,注入自定义的属性值,再在id为student12的Bean中引用这个Bean。新建测试类TestStudent8,输出学生的基本信息和所在班级的信息
时间: 2024-02-17 20:05:03 浏览: 12
好的,针对您的问题,我提供以下解答:
1. 首先,在 springTest4 项目中创建一个名为 Classes 的类,属性有班级编号和班级名称:
```java
public class Classes {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
2. 修改 Student 类,添加 classes 属性:
```java
public class Student {
private String id;
private String name;
private int age;
private Classes classes;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Classes getClasses() {
return classes;
}
public void setClasses(Classes classes) {
this.classes = classes;
}
}
```
3. 在配置文件中定义一个 id 为 classes 的 Bean,注入自定义的属性值:
```xml
<bean id="classes" class="com.example.Classes">
<property name="id" value="001" />
<property name="name" value="Class A" />
</bean>
```
4. 在 id 为 student12 的 Bean 中引用这个 Bean:
```xml
<bean id="student12" class="com.example.Student">
<property name="id" value="10012" />
<property name="name" value="John Doe" />
<property name="age" value="18" />
<property name="classes" ref="classes" />
</bean>
```
5. 新建测试类 TestStudent8,输出学生的基本信息和所在班级的信息:
```java
public class TestStudent8 {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Student student = (Student) context.getBean("student12");
System.out.println("Student ID: " + student.getId());
System.out.println("Student Name: " + student.getName());
System.out.println("Student Age: " + student.getAge());
System.out.println("Class ID: " + student.getClasses().getId());
System.out.println("Class Name: " + student.getClasses().getName());
}
}
```
运行 TestStudent8 类,输出的信息应该如下:
```
Student ID: 10012
Student Name: John Doe
Student Age: 18
Class ID: 001
Class Name: Class A
```