recherche

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

java - spring boot @Autowired

如何在一个没有注解的类中加入一个已经注解的@Autowired?

classA 没有添加xml也没有注解到spring中

classB @Component 已经加入注解

如何在classA 中用@Autowired 注解classB?

如果classA也 @Component了,classB可用,但是不注解就会报错。

阿神阿神2804 Il y a quelques jours780

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

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:58:21

    Soyez un SpringContextHolder

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:58:21

    @Component est une annotation de type bean de spring. Ce n'est qu'après avoir ajouté cette annotation que le bean sera géré par spring. Si cette annotation n'est pas ajoutée, spring ne pourra pas reconnaître cette classe, donc une erreur sera signalée. Si elle est ajoutée Après cette annotation, spring sait que ces deux classes sont deux beans au spring et peuvent s'injecter automatiquement. Ma compréhension du printemps n'est pas assez profonde. Ce que j'ai dit peut être problématique. C'est juste mon opinion personnelle

    .

    répondre
    0
  • 黄舟

    黄舟2017-04-18 10:58:21

    Récupérez-le depuis applicationContext en utilisant le nom du service.

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 10:58:21

    @Autowired signifie injection. Pour utiliser l'injection, votre classe doit être gérée par spring, ce qui signifie que votre class B doit être un bean spring, et class A doit également être un bean spring. Vous signalerez une erreur. Juste parce que votre class A n'est pas un haricot printanier, le printemps ne peut pas vous aider à injecter class B. Si
    veut utiliser class A dans un class B qui n'est pas un haricot printanier, vous ne pouvez définir que class B. manuellement

    répondre
    0
  • Annulerrépondre