title: How to inject with Guice `Module` where constructor accepts Class?
body: <p>The title describes my problem.</p>
  
  <p>E.g.</p>
  
  <pre><code>public class EntryDAOModule extends AbstractModule {
  
      @Override
      protected void configure() {
          bind(EntryDAO.class).to(EntryDTOMongoImpl.class); // what should this be?       
      }
  }
  </code></pre>
  
  <p>As shown, what should be the parameter to <code>.to</code>, given the below:</p>
  
  <pre><code>public class GenericDAOMongoImpl&lt;T, K extends Serializable&gt; extends BasicDAO&lt;T, K&gt; {
      public GenericDAOMongoImpl(Class&lt;T&gt; entityClass) throws UnknownHostException {
          super(entityClass, ConnectionManager.getDataStore());
      }
  }
  
  public class EntryDAOMongoImpl extends GenericDAOMongoImpl&lt;EntryDTOMongoImpl, ObjectId&gt; implements EntryDAO&lt;EntryDTOMongoImpl&gt; {
      private static final Logger logger = Logger.getLogger(EntryDAOMongoImpl.class);
  
      @Inject
      public EntryDAOMongoImpl(Class&lt;EntryDTOMongoImpl&gt; entityClass) throws UnknownHostException {
          super(entityClass);
      }
      ...
  }
  </code></pre>
  
  <p>How can I instantiate the <code>EntryDAOMongoImpl</code> class like so:</p>
  
  <pre><code>Injector injector = Guice.createInjector(new EntryDAOModule());
  this.entryDAO = injector.getInstance(EntryDAO.class); // what should this be?
  </code></pre>