 <p>Dependency Injection implies you get properly initialized references appearing "by magic".</p> <p>You call the setRequest() method with the request object, but DI frequently also allows for setting the fields without invoking methods.</p> <p>Guice does not as such require a container, but uses class loader magic started in the main method. Would that be useable for you?</p>