Ich möchte Anti-Samy von OWASP verwenden. Sie haben ein Richtlinienobjekt, das über eine Factory-Methode instanziiert wird.
%Vor%Der InputStream, der an die Factory-Methode übergeben werden muss, stellt die Konfigurationsdatei für das Richtlinienobjekt dar.
Ist es möglich, eine Richtlinien-Bean in einer Spring XML Context Config zu erstellen? Ich weiß, dass es ein Ressource-Objekt gibt, das Dateien aus dem Klassenpfad laden kann. Aber was ich brauche ist, einen InputStream aus diesem Resource-Objekt zu machen. Kann ich das direkt im xml-spring-Kontext machen? Oder muss ich Java-Code schreiben, um den InputStream zu erhalten?
Verwenden Sie den Factory-Methode-Ansatz zusammen mit einem Konstruktor-arg (der einem Factory-Methodenargument zugeordnet wird), und konvertieren Sie ihn automatisch aus einer Ressourcennotation in einen InputStream.
%Vor%Sehen Sie sich die folgenden Teile des Spring an Referenz :
constructor-arg
im Kontext einer statischen factory-method
verwendet) @ seanizers Lösung wäre eine gute Lösung, wenn Policy
die InputStream
nach dem Lesen geschlossen hätte, aber anscheinend nicht. Dies führt zu einem Leck, dessen Schwere davon abhängt, wie oft es aufgerufen wird, und die Art der Ressource.
Um sicherzugehen, sollten Sie schreibt stattdessen eine benutzerdefinierte FactoryBean
-Implementierung , die das Öffnen und Schließen von InputStream
sicher behandelt. Der FactoryBean
würde mit einem Resource
Objekt injiziert werden.