Quelle est la bonne façon d'utiliser un bean injecté dans une méthode statique?

Cette question peut sembler un peu bizarre. Supposons que j'ai un Service à qui je veux l'utiliser dans une classe Utilitaire qui a des méthodes statiques. Le Service est un Ressort de haricots, c'est donc naturellement que je vais utiliser, par exemple, un setter et (@Autocâblés) pour l'injecter dans ma classe utilitaire.
Comme il est mentionné dans le Ressort de la documentation, tous les haricots sont statiques dans le bean contexte. Ainsi, lorsque vous voulez injecter un bean dans une classe, vous n'avez pas à utiliser "statique" modificateur. Voir ci-dessous:


public class JustAClass{
  private Service service;

  public void aMethod(){
     service.doSomething(....);
  }

  @Autowired
  public void setService(Service service){
     this.service = service;
  }

}

Maintenant revenir à ce que j'ai mentionné pour la première fois (à l'Aide de Service dans une Méthode statique):


public class JustAClass{
  private static Service service;

  public static void aMethod(){
     service.doSomething(....);
  }

  @Autowired
  public void setService(Service service){
     this.service = service;
  }

}

Bien que le Service est statique, je suis obligé de mettre statique derrière sa définition. C'est un peu contre-intuitif pour moi. est-ce mal? ou est-il un meilleur moyen?
Grâce

OriginalL'auteur Hossein | 2013-10-27