[Guice] is a smart dependency injection library. Even if one shouldn’t have circular dependencies when using IOC, Guice is able to solve the most common cases by hiding beans behind proxies when necessary.
Let’s say you’d like Guice to refuse circular dependencies. Just add this line to your (parent) module:
Now Let’s you’d just like to print the classes that are proxied by Guice. Use an injection listener to do that: