首頁  >  問答  >  主體

java - spring boot @Autowired

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

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

classB @Component 已经加入注解

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

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

阿神阿神2742 天前740

全部回覆(4)我來回復

  • 伊谢尔伦

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

    做個SpringContextHolder

    回覆
    0
  • 天蓬老师

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

    @Component 是spring的一個bean類型的註解,添加有這個註解之後才會將該bean由spring管理,如果不加這個註解的話,spring就無法識別這個類,所以就會報錯,如果加上這個註解之後spring就知道這兩個類別是spring中的兩個bean,可以互相進行自動注入。 對spring的理解還不夠深刻,說的可能有問題,只是個人見解

    回覆
    0
  • 黄舟

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

    從 applicationContext 中用 service 名取得。

    回覆
    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進去.

    回覆
    0
  • 取消回覆