Java REST web-service-Konstruktor
Gibt es einen Punkt, dass ein Konstruktor in Java-Web-Service-Klasse? (Es scheint keine einigkeit in den Artikeln, die ich bis jetzt gefunden habe.)
Ich bin mit Jersey zu implementieren REST-web-service, muss eine nicht-statische gemeinsamen Objekt (einen string-Verarbeitung utility-Klasse) zur Verfügung gestellt, um die verschiedenen (nicht-statische) Methoden des service.
Initialisieren dieses gemeinsame Objekt würde normalerweise passieren, in der Konstruktor der Klasse, ob das nicht ein web-service. Was ist aber nun, dass es ist?
Wenn ein Konstruktor nicht verwendet werden kann, sollte ich setzen, in der jede relevante Methode, eine synchronisierten block, der prüft, ob die common object verfügbar ist und, wenn nicht, initialisieren? Oder gibt es einen besseren Ansatz?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jeder web-service-Klasse hat über einen Konstruktor verfügen. Wenn Sie nicht über eine Java fügt automatisch die Standard no-arg-Konstruktor für Sie. Sie können:
Instanz in es
web-service -
Es ist nur eine Meinung, aber wenn Sie wollen, um zu halten 100% zum REST Ihrer web-Services zustandslos. Initialisierung gängigen Objekten in web-service-Methode fordert impliziert damit es nicht die beste Idee.*
*dies ist umstritten, wie gesehen werden kann, in die Kommentare. Aber eine Synchronisation und die shared-object-Initialisierung, wenn nicht die erforderlichen IMO sollte ein no-no in REST-Anwendungen.
Contructor ist sicherlich eine Lösung, noch besser wäre die Verwendung von dependency injection und injizieren Sie das Objekt, das Sie brauchen, um Ihre webservice-Instanz zu schaffen.
Versuchen @PostConstruct annotation. Es könnte Ihnen helfen.