title: Guice: Do I have to annotate every class of an object graph with @Inject?
body: <p>I'd like to <strong>introduce Guice</strong> for the use of an existing mid-sized project.
  For my demands I need a custom scope (session is too big, while request to small for my project).</p>
  
  <p>Imagine that I <strong>request</strong> guice to provide me <strong>an instance of Class A</strong> which has direct and indirect dependencies to <strong>many other classes</strong> (composition).</p>
  
  <p>My custom provider is able to provide the instance of classes which are used as constructor arguments of all involved classes.</p>
  
  <p><strong>Question:</strong></p>
  
  <ul>
  <li>Do I really have to put an <code>@Inject</code> (and my custom scope) annotation on the constructors of all involved classes or <strong>is there a way</strong> that guice <strong>only requires</strong> these annotations on the <strong>top-level class</strong> which I request and that all further dependencies are resolved by "asking" my custom scope for a provider of the dependent types?<br></li>
  </ul>
  
  <p>If this is true this would increase the effort of introducing Guice because I have to adjust more than 1000 classes. Any help and experiences during the introduction of guice is appreciated.</p>