2016-04-26 23 views
0

Ich arbeite an einer Anwendung, die eine benutzerdefinierte RequestContext-Klasse hat. Bisher sind wir immer diese Request im REST-Controller wie folgt:Spring Anfrage Scoped Bean Population

@RequestMapping(value = {"/init", "/"}, method = RequestMethod.GET) 
public Toto accueil(RequestContext rc) { 
    .. 
} 

Ich möchte diese Klasse erklären, wie ein „Request scoped“ und der Lage sein, es in anderen Bohnen zu injizieren, so dass ich hinzugefügt

@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS) 
@Component 

Beim Debuggen benutze ich @Autowire und ich sehe, dass Frühling eine neue Instanz wie pro Anfrage erstellt. Das Problem ist, dass er meine Bean nicht automatisch auffüllt und alle Werte null sind.

Wie sage ich Frühling, um diese Anforderung zu initialisieren, beanspruchte Bohne mit den passenden Werten von der realen HttpRequest?

edit: Gerade herausgefunden, dass derzeit ein HandlerMethodArgumentResolver das Objekt füllt, innerhalb der Controller-Methode aufrufen. Ich möchte etwas so machen, aber das funktioniert bei jeder Anfrage.

Antwort

0

Von dem, was ich von Ihrer Beschreibung verstehe, könnten Sie einen Filter verwenden und in der Funktion doFilter die Anfrage beanspruchte Bean mit den entsprechenden Werten aus der Anfrage initialisieren.