Guice inject single instance into multiple objects without using @Singleton
I was reading the Guice documentation, and came across a section labeled Eliminate the Cycle (Recommended) which peaked my interest because it's exactly the issue that led me to the documentation today. Basically, to eliminate cyclic dependencies, you "extract the Dependency Case into a separate class." Okay, nothing new there. So, in the example, we have. public class Store { private final Boss boss; private final CustomerLine line; //... @Inject public Store(Boss boss, CustomerLine line) { this.boss = boss; this.line = line; //... } public void incomingCustomer(Customer customer) { line.add