使用另一个bean作为构造函数注入的参数

时间:2017-07-27 14:54:50

标签: spring

我有没有可能将bean成员注入另一个bean成员的构造函数中?像下面的代码:

class Config {
    @Resource("${root-service}")
    IServiceRoot root;

    @Resource("${child-service}")
    IServiceChild child;
}

@Component("root1")
class ServiceRoot1 implements IServiceRoot {
}

@Component("root2")
class ServiceRoot2 implements IServiceRoot {
}


@Component("child1")
class ServiceChild1 implements IServiceChild {
    public ServiceChild1(IServiceRoot r) {
        root = r;
    }
}

@Component("child2")
class ServiceChild2 implements IServiceChild {
    public ServiceChild2(IServiceRoot r) {
        root = r;
    }
}

child-serviceroot-service道具设置为" child1 / child2"和" root1 / root2"分别。现在我希望能够使用root成员构造子成员。

@Resource(${child-service})
@ConstructorArg(member="root")
ServiceChild child;

因此,在用spring构造root之后,它将用于构造child。如何实现@ConstructorArg等行为?

0 个答案:

没有答案