Si Spring est massivement adopté aujourd'hui, c'est que l'industrie se dirige globalement sur des architectures micro-service et orientées API. Plusieurs secteurs se rendent compte que les informations qu'elles possèdent sont intéressantes, monnayables, etc. Ce type d'architecture couplée à une bonne gestion (via APIm) sont parfaitement adaptées à une externalisation contrôlée des données.
Spring embarque tout ce qu'il faut pour mettre en place très simplement et rapidement ce genre de softs. Des contrôleurs jusqu'au data access, il embarque tout ce qu'il faut. En plus, ça dirige le développeur vers l'application de principes pro-évolutivité et maintenabilité (IoC, SoC, etc.), tout en proposant une façon de faire pour éviter que ça parte dans tous les sens.
Donc ma question est la suivante: pourquoi quelqu'un voudrait s'embêter à tout mettre en place lui-même, si c'est ce dont il a besoin? Surtout que niveau performances, surtout avec spring boot 3, c'est pas dégueulasse.
je suppose on n'est pas non plus obligé de tout prendre depuis Spring.
Non, le framework sépare assez bien le tout. Si t'as pas besoin de la couche sécurité, tu n'incluras pas Spring Security. Si tu veux t'affranchir du data layer, tu te passeras de Spring Data. Bref, c'est modulable.
Ceci dit, est-ce que les choses comme servlet ou MVC sont toujours utile vis-à-vis de l'évolution des dernières techs et la variabilité des besoins divers, et on aura pu faire un peu de bricolage avec composants un par un, au lieu de dire "voilà je veux du Spring Boot car c'est très bien d'avoir un framework qui gère tout".
Encore une fois, pourquoi? Tu le feras moins bien. Spring, c'est des milliers de contributeurs qui peaufinent la solution depuis plusieurs années. Et si tu penses que de mettre en place toi-même (seulement la couche interface de communication p.ex.), ça va plus rapidement que de démarrer un projet Spring Boot vierge, je pense que tu t'y prends mal.
Message édité le 02 décembre 2022 à 10:19:08 par Impaloupa