0

我有一个用户工厂,它只是从 UserStore 获取一个用户:

public class UserFactory
{
    @Autowired
    private UserStore userStore;

    public User getUserFromId(String Id)
    {
        User foundUser = this.userStore.findUser(Id);

        return foundUser;
    }
}

这是我的用户对象:

public class User implements Serializable
{
    @Autowired
    private List<Announcer> announcers;  //I want this injected

    private String twitterId;

    private String facebookId;

    public List<Announcer> getAnnouncers()
    {
        //lazy init?
        return this.announcers;
    }

}

每个实例announcers都依赖于相应的服务 ID,例如twitterIdfacebookId...我可以在 getter 中懒惰地构建它,但我很好奇是否有办法设置工厂来注入它。我也可以公开一个设置器,并将其设置在 UserFactory 中......但试图限制曝光。

4

1 回答 1

-1

看看这个链接: http ://www.tutorialspoint.com/spring/spring_injecting_collection.htm

请参阅名为“注入 Bean 引用”的部分。

我不知道在没有 xml 配置的情况下执行此操作的方法,在这些情况下我所做的是定义要在 xml 文件中的列表中注入的 itens,然后将 bean 注入列表中。

就像是:

 <bean id="an1" class="FBAnnouncer"/>
 <bean id="an2" class="TWAnnouncer"/>
 <bean id="user" class="User">
     <property name="announcers">
        <list>
           <ref bean="an1"/>
           <ref bean="an2"/>
        </list>
      </property>
 </bean>
于 2012-11-29T01:54:54.473 回答