JavaRush /Blog Java /Random-FR /Avantages de l'utilisation de Spring
Alex
Niveau 37

Avantages de l'utilisation de Spring

Publié dans le groupe Random-FR
De nombreux développeurs novices rencontrent tôt ou tard Spring , un framework populaire pour développer des applications en Java. La principale chose que Spring vous permet de faire est de simplifier le développement d'applications J2EE pour le développeur. Voici les principaux avantages dont bénéficie un développeur lorsqu’il utilise Spring :
Avantages de l'utilisation de Spring - 1
  • Spring fournit un cadre pour votre future application, si vous souhaitez un « blanc » pour votre future application. Dans le même temps, le framework dicte les règles de création de l'application - il existe une certaine architecture d'application dans laquelle vous devez intégrer vos fonctionnalités. Cette fonctionnalité sera en réalité la logique métier de votre application. Spring comprend de nombreux sous-projets adaptés à des fonctionnalités spécifiques (SpringMVC, Spring Security, SpringData, etc. la liste complète peut être consultée sur https://spring.io/projects ), parmi lesquels le développeur peut choisir celui qui lui convient le mieux, et n'utilisez pas le reste - il s'agit d'un principe modulaire de construction d'une application ;

  • Dans une application basée sur Spring, les objets sont faiblement couplés grâce à l'utilisation de l'injection de dépendances. L’un des objectifs de Spring était de briser la dépendance de certains objets par rapport à d’autres. Qu’est-ce que la dépendance ? C'est à ce moment-là qu'Object1 utilise les méthodes d'un autre Object2, c'est-à-dire qu'Object1 dépend de Object2, dont il utilise les méthodes. Pourquoi dépend-il ? Mais parce que tant que l'objet Object2 n'est pas créé, Object1 ne pourra pas implémenter ses fonctionnalités. Comment briser la dépendance ? « Injectez » une référence à l'objet Object2 dans l'objet Object1 via un constructeur ou un setter. Ce processus est en fait une injection de dépendances. Il est important de rappeler que dans Spring les objets doivent être construits sur la base d'interfaces, afin que les dépendances soient injectées sous la forme d'une interface pour un éventuel remplacement ultérieur de l'implémentation.

  • vous n'avez pas besoin de créer des objets manuellement à l'aide de l'opérateur new. Cette fonction a été déléguée au conteneur Spring. Il s'agit d'une inversion de contrôle (IoC) - transférer la fonction d'instanciation des dépendances (objets) nécessaires au conteneur. Quel est le rôle du développeur dans tout cela, demandez-vous ? Déclarez le composant afin qu'il entre dans le contexte Spring. Le contexte de Spring, en termes simples, est une carte où se trouvent tous les beans. Lorsqu'ils disent qu'un bean est dans le contexte de Spring, considérez que le bean est dans la carte et que Spring connaît la clé pour l'obtenir à partir de la carte. Tout ce qui est marqué comme bean dans la configuration XML ou dans les classes avec des annotations @Component est instancié et placé dans une carte de la forme Map<key,bean> map, c'est-à-dire le conteneur a une carte où il « stocke » tous les beans (le concept clé dans Spring est un bean, c'est une entité gérée par le conteneur. Pour qu'un bean (classe ordinaire) soit géré, il doit tomber dans le Contexte Spring.) et, si nécessaire, implémentation, le conteneur fait quelque chose comme ceci : map.get(key), la clé est le type de champ ;

  • Spring vous libère non seulement du besoin de créer des objets, mais aussi de les associer. Par exemple, l'annotation @Autowired vous permet de câbler automatiquement des composants. L'annotation Spring @Autowired pourrait être décrite simplement comme ceci : cher ami, conteneur Spring, veuillez regarder dans votre carte avec des beans pour voir si vous avez l'instance de classe ou les implémentations de ce devant lequel je me trouve. Si c'est le cas, donnez-moi un lien dans le champ devant lequel je suis déclaré. La liaison automatique vous permet de réduire la quantité de code lors de la détermination des dépendances des composants ;

  • Au Spring, les paramètres du bean sont séparés du code du programme. Déplacer la configuration (gestion des dépendances) dans un fichier séparé facilite les modifications ultérieures du projet (remplacement des implémentations) :


    • testabilité améliorée. Lorsque les classes sont conçues sur la base de DI et d'interfaces, il devient possible de remplacer facilement les dépendances (par de fausses implémentations) pendant les tests ;

    • la possibilité de programmer dans un style déclaratif à l'aide d'annotations réduit la quantité de code dans l'application ;

    • support et bonne intégration avec les technologies d'accès aux données, les transactions, AOP simplifie le développement ;

    • une bonne documentation aide beaucoup lors du débogage d’une application ;
Pour ceux qui veulent comprendre Spring, je recommande de lire K. Walls. Spring in Action - 3rd Edition et bien sûr la documentation officielle.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION