So bin ich beschäftigt, eine Spring Boot App zu schreiben, aber ich kann nicht herausfinden, wie ich ein Objekt an meine RestController von meiner Hauptanwendung übergeben kann.Spring: Übergeben Sie Objekt an RestController von Anwendung
Hier ist meine Application.java:
@SpringBootApplication
@ComponentScan("webservices")
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
Application app = new Application(ctx);
LinkedBlockingQueue<RawDate> queue = new LinkedBlockingQueue<>();
// do other stuff here
}
}
Und hier ist mein RestController:
@RestController
public class GoogleTokenController {
private LinkedBlockingQueue<RawData> queue;
@CrossOrigin
@RequestMapping(value = "/google/token", method = RequestMethod.POST, headers = {"Content-type=application/json"})
@ResponseBody
public String googleToken(@RequestBody AuthCode authCode) {
System.out.println("CODE: " + authCode.getAuthCode());
// do other stuff here
return "OK";
}
}
Deshalb möchte ich die gleiche Instanz von LinkedBlockingQueue<RawData>
zu übergeben, die in der Application
Klasse die erstellt wird, GoogleTokenController
Klasse. Aber ich habe keine Ahnung, wie das zu tun ist, da der Frühling automatisch die Klasse GoogleTokenController
erstellt.
Bitte beachten Sie, ich bin sehr neu in Frühling. Vielen Dank.
Hallo danke für die Antwort, aber die Warteschlange Variable in GoogleTokenController ist null, wenn ich dies tun. –
@ArmandMaree Erstellen Sie den 'GoogletokenController' selbst mit' newGoogleTokenController() '? Tun Sie das nicht (das ist der # 1 Fehler, den Leute mit Spring Dependency Injection machen) - lassen Sie Spring den 'GoogletokenController' erstellen. – Jesper
Nein Ich erstelle den GoogleTokenController nicht. Der Frühling macht es alleine. –