Wie kann ich Spritzen lokalen Variablen eine statische Methode in eine abstrakte Klasse mit Spring?

Ich bin neu auf Frühling und lief in dieses problem.Ich habe versucht mit @Autowired auf die Methode, aber es hat nicht funktioniert,auf die Variablen bekomme ich die Fehlermeldung "Die annotation @Autowired nicht zulässig ist, für diesen Standort" von eclipse.
Ich habe die erforderlichen beans erstellt, die in der xml.

Unten ist der code, der diese Methode in einer abstrakten Klasse..

private static HttpResponse rawExecuteReqeust(HttpUriRequest request) throws ClientProtocolException, IOException {
    HttpClient client = new DefaultHttpClient();
    ProxyInterface proxyI; //needs to be Injected
    User user; //needs to be Injected
    System.out.println("About to execute " + request.getMethod() + " request on        " 
        + request.getURI());
    if (proxyI.getProxyHost() != null && proxyI.getProxyPort() != 0) {
        if (user.getProxyUser() != null && user.getProxyPassword() != null) {
            ((AbstractHttpClient) client).getCredentialsProvider().setCredentials(
                    new AuthScope(proxyI.getProxyHost(), proxyI.getProxyPort()),
                    new UsernamePasswordCredentials(user.getProxyUser(), user.getProxyPassword()));
        }
        HttpHost proxy = new HttpHost(proxyI.getProxyHost(), proxyI.getProxyPort(), "http");
        client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
    }
    HttpResponse response = client.execute(request);
    return response;
}

(p.s Im neuen zu stackOverflow und hoffe, formatierte ich die Frage richtig 🙂 )

  • was, die Sie wollen zu injizieren? Sie kann nicht Spritzen, ein Verfahren mit Autowired.
  • Könnten Sie bitte geben Sie einige weitere Beispiel-code?
  • Ich möchte injizieren der Abhängigkeiten von proxyI und Benutzer
  • Definieren Sie die Variablen außerhalb der Methode und @Autowire Sie und nicht die Methode. Machen Sie privat, wenn Sie wollen, Sie zu verstecken.
  • viele verschiedene Objekte werden mit dieser Methode mit verschiedenen Werten für Benutzer und proxy,wird das irgendwelche Probleme verursachen?
  • Wenn die Bohne, wo diese Methode definiert ist, definiert ist, mit der scope=prototype und diese Methode ist nicht static, dann sollte es in Ordnung sein, seit dem Frühjahr container gibt eine neue Instanz von dieser bean jedes mal, es wird beantragt werden, was bedeutet, dass die verschiedenen User und ProxyInterface Objekte nicht gegenseitig überschreiben, da Sie sich in verschiedenen Instanzen.
  • Vielen Dank 🙂
  • Ich habe versucht, was du gesagt hast, aber da die Methode statisch ist, die feilds müssen auch statisch für die Methode,Sie zu nutzen, und es scheint, dass ich kann nicht autowire statische feilds?

Schreibe einen Kommentar