使用spring容器管理HDept和 HUser对象 要求: 1 HUser对象通过带3个参数的构造初始化 2 HDept对象所有属性都通过set方法初始化 包括List<HUser> hUsers属性 需要给hUsers初始化2个值 3 最后获取一个HDept对象 输出HDept部门信息和包含的每个部门员工(HUser)信息
时间: 2024-02-28 13:54:12 浏览: 143
好的,根据您的要求,我给出以下代码实现:
首先,我们需要创建HUser类,代码如下:
```java
public class HUser {
private String name;
private int age;
private String gender;
public HUser(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// 省略getter和setter方法
}
```
接下来是HDept类,代码如下:
```java
public class HDept {
private int id;
private String name;
private List<HUser> hUsers;
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void sethUsers(List<HUser> hUsers) {
this.hUsers = hUsers;
}
// 省略getter方法
@Override
public String toString() {
return "HDept{" +
"id=" + id +
", name='" + name + '\'' +
", hUsers=" + hUsers +
'}';
}
}
```
然后我们需要配置Spring容器,代码如下:
```xml
<bean id="hUser1" class="com.example.demo.HUser">
<constructor-arg value="Tom"/>
<constructor-arg value="20"/>
<constructor-arg value="Male"/>
</bean>
<bean id="hUser2" class="com.example.demo.HUser">
<constructor-arg value="Lucy"/>
<constructor-arg value="22"/>
<constructor-arg value="Female"/>
</bean>
<bean id="hDept" class="com.example.demo.HDept">
<property name="id" value="1"/>
<property name="name" value="IT Department"/>
<property name="hUsers">
<list>
<ref bean="hUser1"/>
<ref bean="hUser2"/>
</list>
</property>
</bean>
```
最后,我们需要在测试类中获取HDept对象并输出部门信息和员工信息,代码如下:
```java
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
HDept hDept = context.getBean("hDept", HDept.class);
System.out.println(hDept);
}
```
输出结果如下:
```
HDept{id=1, name='IT Department', hUsers=[HUser{name='Tom', age=20, gender='Male'}, HUser{name='Lucy', age=22, gender='Female'}]}
```
可以看到,HDept部门信息和包含的每个部门员工(HUser)信息都成功输出了。
阅读全文