2017-10-17 6 views
0

Je suis nouveau sur Spring Framework. Je rencontre une situation où notre définition de bean doit se référer à un singleton existant déjà défini dans le code Java.Spring Framework Bean fait référence à une instance singleton définie dans le code Java

Un peu plus de détails, un singleton (sFoo) d'une classe Foo est défini dans un fichier JAR tiers. Et Foo n'a pas d'API d'usine. Plus Foo interdit de créer une instance avec le même paramètre que sFoo. Il ne semble donc pas possible de déclarer un bean (avec une portée singleton) en raison du manque d'API d'usine de la classe Foo

Je dois me référer à sFoo à partir de la définition des autres beans.

Existe-t-il un moyen de faire référence à sFoo à partir du fichier xml de définition de bean?

Merci à l'avance, Frank

Répondre

0

Créer un Bean Foo dans votre classe de configuration et reportez-vous que Bean ne

@Configuration 
public class ConfigClass { 
    @Bean 
    public Foo foo(){ 
     //This will ensure one object of Foo is created 
     return new Foo(); 
    } 
} 

@Component or @Service or any Spring stereotype annotation 
public OtherClass{ 

    @Autowired 
    Foo foo; //This is the Singleton instance created in ConfigClass 
}