(2)Student.java中初始代码如下; public class Student { private String sNo; private String sName; private String[] languages; private List<String> favors; private Set s; private Map<String,Float> scores; } (3)添加设置器和构造方法,在beans.xml使用多种注入方式完成对象及属性赋值; 编写、运行Test.java文件,对项目进行测试。
时间: 2024-02-22 07:59:17 浏览: 39
首先,给出Student类的完整代码:
```java
public class Student {
private String sNo;
private String sName;
private String[] languages;
private List<String> favors;
private Set<String> s;
private Map<String, Float> scores;
public Student() {
}
public Student(String sNo, String sName, String[] languages, List<String> favors, Set<String> s, Map<String, Float> scores) {
this.sNo = sNo;
this.sName = sName;
this.languages = languages;
this.favors = favors;
this.s = s;
this.scores = scores;
}
public void setsNo(String sNo) {
this.sNo = sNo;
}
public void setsName(String sName) {
this.sName = sName;
}
public void setLanguages(String[] languages) {
this.languages = languages;
}
public void setFavors(List<String> favors) {
this.favors = favors;
}
public void setS(Set<String> s) {
this.s = s;
}
public void setScores(Map<String, Float> scores) {
this.scores = scores;
}
@Override
public String toString() {
return "Student{" +
"sNo='" + sNo + '\'' +
", sName='" + sName + '\'' +
", languages=" + Arrays.toString(languages) +
", favors=" + favors +
", s=" + s +
", scores=" + scores +
'}';
}
}
```
然后,在beans.xml中使用多种注入方式完成对象及属性赋值:
```xml
<bean id="student1" class="com.example.Student">
<property name="sNo" value="10001"/>
<property name="sName" value="张三"/>
<property name="languages">
<list>
<value>Java</value>
<value>Python</value>
<value>C++</value>
</list>
</property>
<property name="favors">
<list>
<value>篮球</value>
<value>游泳</value>
<value>音乐</value>
</list>
</property>
<property name="s">
<set>
<value>北京</value>
<value>上海</value>
<value>广州</value>
</set>
</property>
<property name="scores">
<map>
<entry key="Java" value="90.5"/>
<entry key="Python" value="80.0"/>
<entry key="C++" value="85.5"/>
</map>
</property>
</bean>
<bean id="student2" class="com.example.Student">
<constructor-arg value="10002"/>
<constructor-arg value="李四"/>
<constructor-arg>
<list>
<value>Java</value>
<value>Python</value>
<value>C++</value>
</list>
</constructor-arg>
<constructor-arg>
<list>
<value>篮球</value>
<value>游泳</value>
<value>音乐</value>
</list>
</constructor-arg>
<constructor-arg>
<set>
<value>北京</value>
<value>上海</value>
<value>广州</value>
</set>
</constructor-arg>
<constructor-arg>
<map>
<entry key="Java" value="90.5"/>
<entry key="Python" value="80.0"/>
<entry key="C++" value="85.5"/>
</map>
</constructor-arg>
</bean>
<bean id="student3" class="com.example.Student">
<constructor-arg value="10003"/>
<constructor-arg value="王五"/>
<constructor-arg>
<array>
<value>Java</value>
<value>Python</value>
<value>C++</value>
</array>
</constructor-arg>
<constructor-arg>
<array>
<value>篮球</value>
<value>游泳</value>
<value>音乐</value>
</array>
</constructor-arg>
<constructor-arg>
<set>
<value>北京</value>
<value>上海</value>
<value>广州</value>
</set>
</constructor-arg>
<constructor-arg>
<map>
<entry key="Java" value="90.5"/>
<entry key="Python" value="80.0"/>
<entry key="C++" value="85.5"/>
</map>
</constructor-arg>
</bean>
```
最后,编写Test.java文件进行测试:
```java
public class Test {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Student student1 = context.getBean("student1", Student.class);
System.out.println(student1);
Student student2 = context.getBean("student2", Student.class);
System.out.println(student2);
Student student3 = context.getBean("student3", Student.class);
System.out.println(student3);
}
}
```
运行结果如下:
```
Student{sNo='10001', sName='张三', languages=[Java, Python, C++], favors=[篮球, 游泳, 音乐], s=[北京, 上海, 广州], scores={Java=90.5, Python=80.0, C++=85.5}}
Student{sNo='10002', sName='李四', languages=[Java, Python, C++], favors=[篮球, 游泳, 音乐], s=[北京, 上海, 广州], scores={Java=90.5, Python=80.0, C++=85.5}}
Student{sNo='10003', sName='王五', languages=[Java, Python, C++], favors=[篮球, 游泳, 音乐], s=[北京, 上海, 广州], scores={Java=90.5, Python=80.0, C++=85.5}}
```
可以看出,三个学生对象的属性值都已经正确地注入到了Bean中。