DI’s always fail fast. Some faster than others. For example, Dagger is 100% static so you just won’t be able to compile if your object graph is invalid. Guice will blow up at start up in this situation. Not as great but you still won’t ship with an invalid app.