使用Spring分配域类的数据成员

时间:2014-08-04 08:43:27

标签: java spring spring-mvc

有可能吗?

以下是一个更详细的案例:

class A {
    private service x;

    //other members
    //some more methods.
}

bean定义可用于service,但我不希望class A成为一个弹簧bean而且x都不是静态的。

这是否可以实现。

编辑:

我的弹簧配置:

<bean id="Service" class="com.xx.yy.Service" />
<--!I do not register class A as a bean. Hence cannot use @autowired directly.-->

2 个答案:

答案 0 :(得分:0)

我认为你应该为A类实例创建工厂,它应该注意设置x。

@Service
class FactoryA {

  @Autowired service x;

  public A create() {
    return new A(x);
  }

}

答案 1 :(得分:0)

只能通过从上下文手动获取bean来实现。

Service service = context.getBean(Service.class);
A a = new A(service);