创建@Inject对象的顺序

时间:2014-01-03 14:38:31

标签: java cdi inject

请看下面的课程(请注意,它不是单身人士):

public MyClass() {

    @Inject private A a;
    @Inject private B b;

}

首先会创建哪个对象ab

是否有可能确定创建对象的顺序?

2 个答案:

答案 0 :(得分:3)

我不这么认为,我没有看到它为什么重要的原因(我也担心对象实例化的顺序可能会从部署变为部署)。保证在@PostConstruct中注入所有对象,这是最重要的事情(据我所知)。

答案 1 :(得分:1)

实际上,你可以非常控制秩序。首先,假设它们具有正常范围(例如@RequestScoped)。其次,让B引用A。您会看到A首先实例化,然后B。请注意,您需要通过@PostConstruct方法进行跟踪。