1

我有一个 A 类,其中包含以下内容

class A
{

private HashSet<Long> at = new HashSet<Long>();

and it has a constructor like this

A()
{
//set is being initialsised here 

                this.at.add(new Long(44));
        this.at.add(new Long(34));
        this.at.add(new Long(54));
        this.at.add(new Long(55));


}

现在下面是为它定义的spring xml bean......

<bean id="aa" class="com.abc.A">
        <property name="readPermissionGroup">
      <set>
         <value>03</value>
         <value>13</value>
         <value>54</value>
         <value>55</value>
      </set>
   </property>
    </bean>

现在请告知如何将上述bean aa添加到bb中,因为bean bb包含A类的完整定义

4

2 回答 2

1

将 B 类定义到 Spring 上下文中

<bean id="bb" class="com.abc.B"></bean>

将 A 类引用添加到 B 类,例如

class B
{
    private A beanA;

    //setters getters
}

并在您的 xml 配置中将 bean A 注入到 bean B 中。修改bean B定义

<bean id="bb" class="com.abc.B">
<property name="beanA" ref="aa" />
</bean>

我的建议是不要使用 xml 来定义和注入 bean。它真的很旧,请改用注释。

于 2013-09-12T06:28:03.460 回答
0

您可以使用@Anotation 注入bean A。在类A 中使用@Bean 注解。@Bean 注解将创建bean A。

class B {
    @Autowired
    private A beanA;
    // setter and getter
}

这是你的A类

@Bean
 class A
  {
  private HashSet<Long> at = new HashSet<Long>();
  A()
   {
   //set is being initialsised here 

    this.at.add(new Long(44));
    this.at.add(new Long(34));
    this.at.add(new Long(54));
    this.at.add(new Long(55));
}
于 2013-09-12T08:15:31.173 回答