@autowired in statischen Klassen

Dies ist ein Spring MVC-Projekt mit Hibernate. Ich versuche, eine Logger-Klasse zu erstellen, die für die Eingabe von Protokollen in die Datenbank verantwortlich ist. Andere Klassen rufen nur die richtigen Methoden mit einigen Attributen auf und diese Klasse sollte alles zaubern. Von Natur aus sollte es eine Klasse mit statischen Methoden sein, aber das führt zu Problemen mit dem automatischen Abgleichen von Dao-Objekten.

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);
    }
}

Wie mache ich es richtig? Was soll ich tun, um dao object nicht auf null zu setzen? Ich weiß, dass ich es als Methodenparameter übergeben könnte, aber das ist nicht sehr gut. Ich vermute, dass Autowired bei statischen Objekten nicht funktionieren kann, da sie zu früh erstellt wurden und noch kein Autowiering-Mechanismus erstellt wurde.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage