recherche

Maison  >  Questions et réponses  >  le corps du texte

Quelle est la différence entre ces quatre annotations en Java ? Pourquoi sont-ils mélangés dans le projet ?

@Component:
@Controller
@Repository
@Service

曾经蜡笔没有小新曾经蜡笔没有小新2775 Il y a quelques jours598

répondre à tous(6)je répondrai

  • 世界只因有你

    世界只因有你2017-05-17 10:02:19

    Ils sont tous utilisés pour définir BeanBean

    • @Component是最通用的

    • @Service@Repository也是@Component,只不过赋予了不同的语义,便于代码阅读,其实这三个随便用也无所谓,Spring不会报错。

    • @Controller

      • @Component est le plus polyvalent
    • 🎜@Service, @Repository sont également des @Component, mais ils reçoivent une sémantique différente pour faciliter la lecture du code. 3. Peu importe si vous l'utilisez avec désinvolture, Spring ne signalera pas d'erreur. 🎜🎜
    • 🎜@Controller est spécial et est exclusivement géré par Spring MVC et ne peut pas être remplacé par les trois autres. 🎜🎜 🎜

      répondre
      0
  • 阿神

    阿神2017-05-17 10:02:19

    @Service est utilisé pour annoter les composants de la couche métier

    @Controller est utilisé pour annoter les composants de la couche de contrôle (contrôleur au printemps)

    @Repository est utilisé pour annoter les composants d'accès aux données, à savoir les composants DAO

    @Component fait généralement référence à des composants lorsque les composants sont difficiles à classer, nous pouvons utiliser cette annotation pour les annoter

    .

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-17 10:02:19

    @Controller est utilisé dans le contrôleur, @Service est utilisé dans le service, @Repository est utilisé dans dao et @Component est utilisé dans d'autres endroits peu clairs.

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:02:19

    C'est juste que la sémantique est différente, mais les fonctions sont les mêmes

    répondre
    0
  • 某草草

    某草草2017-05-17 10:02:19

    L'effet est le même**

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:02:19

    Ces quatre annotations ont le même effet opérationnel sur la machine. Il n'y a qu'une différence sémantique, qui indique aux personnes qui lisent le code à quel niveau appartient cette classe

    répondre
    0
  • Annulerrépondre