Heim  >  Fragen und Antworten  >  Hauptteil

java - spring boot @Autowired

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

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

classB @Component 已经加入注解

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

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

阿神阿神2742 Tage vor739

Antworte allen(4)Ich werde antworten

  • 伊谢尔伦

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

    做个SpringContextHolder

    Antwort
    0
  • 天蓬老师

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

    @Component 是spring的一个bean类型的注解,添加有这个注解之后才会将该bean由spring管理,如果不加这个注解的话,spring就无法识别这个类,所以就会报错,如果加上这个注解之后spring就知道这两个类是spring中的两个bean,可以相互进行自动注入。 对spring的理解还不够深刻,说的可能有问题,仅仅是个人见解

    Antwort
    0
  • 黄舟

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

    从 applicationContext 中用 service 名获取。

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-18 10:58:21

    @Autowired是表示注入, 要使用注入, 你的类必须交给spring管理, 意思就是你的class B必须是是一个spring的bean, class A也必须是一个spring的bean, 你报错就是因为你的class A不是一个spring的bean, spring无法帮你注入class B.
    如果要在不是spring bean的class A中使用class B只能手动把class Bset进去.

    Antwort
    0
  • StornierenAntwort