Discussion:
Cyclic dependency injection with SettersInjection
Igor Kuzminskij
2009-04-28 13:54:00 UTC
Permalink
Hi all,

excuse me if I'm asking something that had already been asked (then just
please give me some link), because I tried to google this question before
writing this mail with no result.
I have problems with cyclic dependency injection when using SetterInjection
which is kind of weird to me (examples in picocontainer documentation are
about Constructor based injection)
Below I have very simple example demoing behavior I'm talking about (if you
run it you'll have an AbstractInjector$CyclicDependencyException)
The question is simple - how can I solve the kind of situation when I really
need cyclic dependencies (at least with setter based injection)?

import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.injectors.SetterInjection;

import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.injectors.SetterInjection;

public class PicoTest {


public static class One {
private Two two;

public void setTwo(Two two) {
this.two = two;
}
}

public static class Two {
private One one;

public void setOne(One one) {
this.one = one;
}
}

public static void main(String[] args) throws Exception {
MutablePicoContainer container = new DefaultPicoContainer(new
SetterInjection());
container.addComponent(One.class);
container.addComponent(Two.class);

container.getComponent(One.class);
}
}
--
Best Regards,
Kuzminskyy Igor
Loading...