Je lance donc un tout nouveau projet en Java et envisage d’utiliser Spring. Pourquoi je considère le printemps? Parce que beaucoup de gens me disent que je devrais utiliser le printemps! Sérieusement, chaque fois que j'ai essayé d'amener les gens à expliquer ce qu'est exactement le printemps ou ce qu'il fait, ils ne peuvent jamais me donner une réponse directe. J'ai consulté les introductions sur le site SpringSource. Elles sont très compliquées ou sont axées sur des didacticiels. Aucune d'elles ne me donne une bonne idée de la raison pour laquelle je devrais l'utiliser, ou de la manière dont cela facilitera ma vie. Parfois, les gens parlent d’injection «dépendance», ce qui me rend encore plus confus, car j’ai une compréhension différente de ce que signifie ce terme.
Quoi qu'il en soit, voici un peu de mon expérience et de mon application:
Développé depuis un certain temps en Java, développement Web back-end. Oui, je fais une tonne de tests unitaires. Pour faciliter cela, je crée généralement (au moins) deux versions d'une méthode: une qui utilise des variables d'instance et une qui utilise uniquement des variables qui sont transmises à la méthode. Celui qui utilise des variables d'instance appelle l'autre, en fournissant les variables d'instance. Quand vient le temps de tester les unités, j'utilise Mockito pour simuler les objets puis passer des appels à la méthode qui n'utilise pas de variables d'instance. C'est ce que j'ai toujours compris par "injection de dépendance".
Mon application est assez simple, d'un point de vue CS. Petit projet, 1-2 développeurs pour commencer. Il s'agit principalement d'opérations de type CRUD avec un groupe de recherches. Fondamentalement, un ensemble de services Web RESTful, ainsi qu'un serveur Web, puis éventuellement des clients mobiles. Je pense faire du front-end en HTML / CSS / JS / JQuery, donc aucun projet réel d’utiliser JSP. Utiliser Hibernate comme ORM et Jersey pour implémenter les services Web.
J'ai déjà commencé à coder et je suis vraiment impatient d'obtenir une démo sur laquelle je peux faire le tour et voir si quelqu'un veut investir. Il est donc évident que le temps presse. Je comprends que Spring a une courbe d'apprentissage assez longue. De plus, il semble nécessiter toute une configuration XML, ce que j'essaie généralement d'éviter comme la peste. Mais si cela peut me rendre la vie plus facile et (surtout) si cela peut accélérer le développement et les tests, je suis prêt à mordre la balle et à apprendre le printemps.
Donc s'il vous plait. Éduque moi. Devrais-je utiliser le printemps? Pourquoi ou pourquoi pas?