Also starte ich ein brandneues Projekt in Java und erwäge, Spring zu verwenden. Warum denke ich über den Frühling nach? Weil mir viele Leute sagen, ich sollte Spring benutzen! Im Ernst, jedes Mal, wenn ich versucht habe, die Leute dazu zu bringen, zu erklären, was genau Frühling ist oder was er tut, können sie mir niemals eine klare Antwort geben. Ich habe die Intros auf der SpringSource-Website überprüft, und sie sind entweder sehr kompliziert oder auf Lernprogramme ausgerichtet. Keiner von ihnen gibt mir eine gute Vorstellung davon, warum ich sie verwenden sollte oder wie sie mir das Leben erleichtern werden. Manchmal werfen die Leute den Begriff "Abhängigkeitsinjektion" herum, was mich nur noch mehr verwirrt, weil ich denke, dass ich ein anderes Verständnis davon habe, was dieser Begriff bedeutet.
Wie auch immer, hier ist ein wenig über meinen Hintergrund und meine App:
Entwickelt seit einiger Zeit in Java und betreibt Back-End-Webentwicklung. Ja, ich mache eine Menge Unit-Tests. Um dies zu vereinfachen, erstelle ich normalerweise (mindestens) zwei Versionen einer Methode: eine, die Instanzvariablen verwendet, und eine, die nur Variablen verwendet, die an die Methode übergeben werden. Derjenige, der Instanzvariablen verwendet, ruft den anderen auf und liefert die Instanzvariablen. Wenn es um Unit-Tests geht, benutze ich Mockito, um die Objekte zu verspotten und rufe dann die Methode auf, die keine Instanzvariablen verwendet. Das habe ich immer unter "Abhängigkeitsinjektion" verstanden.
Meine App ist aus CS-Sicht ziemlich einfach. Kleines Projekt, 1-2 Entwickler am Anfang. Meistens CRUD-artige Operationen mit ein paar Suchvorgängen. Im Grunde genommen ein paar RESTful-Webdienste, ein Web-Front-End und schließlich einige mobile Clients. Ich denke darüber nach, das Front-End in HTML / CSS / JS / JQuery zu erstellen, daher gibt es keine konkreten Pläne für die Verwendung von JSP. Verwenden von Hibernate als ORM und Jersey zum Implementieren der Webservices.
Ich habe bereits mit dem Programmieren begonnen und bin sehr gespannt auf eine Demo, in der ich stöbern und nachsehen kann, ob jemand investieren möchte. Offensichtlich ist die Zeit entscheidend. Ich verstehe, dass Spring eine gewisse Lernkurve hat, und es sieht so aus, als ob eine ganze Reihe von XML-Konfigurationen erforderlich sind, die ich normalerweise wie die Pest zu vermeiden versuche. Aber wenn es mein Leben leichter machen kann und (besonders) wenn es die Entwicklung und das Testen beschleunigt, bin ich bereit, in die Kugel zu beißen und den Frühling zu lernen.
Also bitte. Erziehe mich. Soll ich Spring verwenden? Warum oder warum nicht?