¿Cuál es la forma correcta de usar un bean inyectado en un método estático?

Esta pregunta puede parecer un poco rara. Supongamos que tengo un servicio que quiero usar en una clase de utilidad que tiene algunos métodos estáticos. El Servicio es un bean Spring, así que naturalmente, por ejemplo, usaré un setter y (@Autowired) para inyectarlo en mi clase de utilidad. Como se menciona en la documentación de Spring, todos los beans son estáticos en el contexto del bean. Entonces, cuando quiere inyectar un bean en una clase no tiene que usar el modificador "estático". Vea abajo:


public class JustAClass{
  private Service service;

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

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

}

Ahora volviendo a lo que mencioné primero (Uso del servicio en un método estático):


public class JustAClass{
  private static Service service;

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

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

}

Aunque el servicio es estático, me veo obligado a poner estática detrás de su definición. Esto es un poco contraintuitivo para mí. ¿Esto esta mal? ¿O es una manera mejor? Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta