Guice: Como obter uma instância de Singleton sem injetor ou usando Injeção de Construtor

Eu tenho uma class singleton definida como:

@Singleton class MySingletonClass{ .... } 

Eu tenho outra class que usa essa class singleton, mas essa class tem que ser criada usando o novo operador. Assim, não posso usar injeção de construtor ou injeção de setter etc.

 class MyClass { public void method() { // Uses instnace of MySingletonClass } } 

Eu certamente posso passar uma instância disso para o construtor do MyClass, mas não é um projeto muito bom no contexto do meu programa.

Outra solução será criar um método getInstance estático para MySingletonClass para que eu possa obter instância de qualquer lugar no programa. Mas eu quero saber se Guice suporta algo parecido com isso? Tenho certeza de que Guice pode permitir a obtenção de uma instância singleton em qualquer lugar.

Muito Obrigado.

Eu acho que se myClass precisa do MySingletonClass, isso significa que há uma clara dependência entre eles e, portanto, uma solução correta é passar a instância do MySingletonClass para o construtor do MyClass.

A injeção de construtor é um dos methods de injeção mais desejáveis, pois torna a dependência explícita e impede a criação de MyClass com dependencies não satisfeitas. Se você realmente não gosta da injeção de construtor, você sempre pode usar uma injeção setter onde você pode manualmente injetar a instância de MySingletonClass.