Look at following class (please note, that it is not a singleton):
public MyClass() {
@Inject private A a;
@Inject private B b;
}
What object will be created first a
or b
?
Is there a possibility of determine the order of creating objects?
I don't think so and I don't see a reason why it should matter (I am also afraid that order of object instantiation can change from deployment to deployment). You are guaranteed to have all objects injected in @PostConstruct
and that's the most important thing (as far as I am concerned).
Actually, you can very much control order. First, assume that they have normal scopes (e.g. @RequestScoped
). Second, make B
have a reference to A
. You'll see that A
gets instantiated first, then B
. Note that you'll need to track via your @PostConstruct
method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With