title: How to bind one implementation to a few interfaces with Google Guice?
body: <p>I need to bind one class as implementation of two interfaces. And it should be binded in a singleton scope.</p>
  
  <p>What I've done:</p>
  
  <pre><code>bind(FirstSettings.class).
      to(DefaultSettings.class).
      in(Singleton.class);
  bind(SecondSettings.class).
      to(DefaultSettings.class).
      in(Singleton.class);
  </code></pre>
  
  <p>But, obviously, it leads to creation of two different instances, because they are binded to the different keys.</p>
  
  <p>My question is how can I do that?</p>