@autowired en clases estáticas

Este es un proyecto Spring MVC con Hibernate. Estoy tratando de hacer una clase de registrador que sea responsable de ingresar los registros en la base de datos. Otras clases simplemente llaman a los métodos adecuados con algunos atributos y esta clase debería hacer toda la magia. Por naturaleza, debería ser una clase con métodos estáticos, pero eso causa problemas con el objeto dao autoalimentado.

public class StatisticLogger {
    @Autowired
    static Dao dao;
    public static void AddLoginEvent(LogStatisticBean user){
        //TODO code it god damn it
    }
    public static void AddDocumentEvent(LogStatisticBean user, Document document, DocumentActionFlags actionPerformed){
        //TODO code it god damn it
    }
    public static void addErrorLog(Exception e, String page,  HashMap<String, Object> parameters){
        ExceptionLogBean elb=new ExceptionLogBean();
        elb.setStuntDescription(e);
        elb.setSourcePage(page);
        elb.setParameters(parameters);
        if(dao!=null){ //BUT DAO IS NULL
            dao.saveOrUpdateEntity(elb);
    }
}

¿Cómo hacerlo bien? ¿Qué debo hacer para no hacer nula el objeto dao? Sé que podría pasarlo como un parámetro del método, pero eso no es muy bueno. Supongo que la conexión automática no puede funcionar en objetos estáticos, ya que están creados para que el mecanismo de creación automática aún no se haya creado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta