您的位置:首頁技術文章
文章詳情頁

java - spring boot @Autowired

瀏覽:108日期:2023-12-22 09:33:31

問題描述

如何在一個沒有注解的類中加入一個已經注解的@Autowired?

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

classB @Component 已經加入注解

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

如果classA也 @Component了,classB可用,但是不注解就會報錯。

問題解答

回答1:

做個SpringContextHolder

回答2:

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

回答3:

從 applicationContext 中用 service 名獲取。

回答4:

@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進去.

標簽: java
相關文章:
国产综合久久一区二区三区