使用非字符串 Collection 的 Setter 注入(具有依赖对象)示例

17 Mar 2025 | 阅读 2 分钟

如果我们在 Collection 中有依赖对象,我们可以使用 listsetmap 内部的 ref 元素来注入这些信息。在这里,我们将在 property 元素内部使用 list、set 或 map 元素。

在此示例中,我们以论坛为例,其中一个问题可以有多个答案。但是答案有其自己的信息,例如 answerId、answer 和 postedBy。此示例中使用了四个页面

  1. Question.java
  2. Answer.java
  3. applicationContext.xml
  4. Test.java

在本例中,我们使用可以包含重复元素的列表,您可以使用只有唯一元素的 set。 但是,您需要在 applicationContext.xml 文件中将列表更改为 set,并在 Question.java 文件中将 List 更改为 Set。

Question.java

此类包含三个属性,两个构造函数和 displayInfo() 方法,该方法打印信息。 在这里,我们使用 List 来包含多个答案。

Answer.java

此类具有三个属性 id、name 和 by,以及构造函数和 toString() 方法。

applicationContext.xml

使用 ref 元素定义对另一个 bean 的引用。在这里,我们使用 ref 元素的 bean 属性来指定对另一个 bean 的引用。

Test.java

此类从 applicationContext.xml 文件中获取 bean 并调用 displayInfo 方法。