成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - spring boot @Autowired

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

問(wèn)題描述

如何在一個(gè)沒(méi)有注解的類中加入一個(gè)已經(jīng)注解的@Autowired?

classA 沒(méi)有添加xml也沒(méi)有注解到spring中

classB @Component 已經(jīng)加入注解

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

如果classA也 @Component了,classB可用,但是不注解就會(huì)報(bào)錯(cuò)。

問(wèn)題解答

回答1:

做個(gè)SpringContextHolder

回答2:

@Component 是spring的一個(gè)bean類型的注解,添加有這個(gè)注解之后才會(huì)將該bean由spring管理,如果不加這個(gè)注解的話,spring就無(wú)法識(shí)別這個(gè)類,所以就會(huì)報(bào)錯(cuò),如果加上這個(gè)注解之后spring就知道這兩個(gè)類是spring中的兩個(gè)bean,可以相互進(jìn)行自動(dòng)注入。 對(duì)spring的理解還不夠深刻,說(shuō)的可能有問(wèn)題,僅僅是個(gè)人見(jiàn)解

回答3:

從 applicationContext 中用 service 名獲取。

回答4:

@Autowired是表示注入, 要使用注入, 你的類必須交給spring管理, 意思就是你的class B必須是是一個(gè)spring的bean, class A也必須是一個(gè)spring的bean, 你報(bào)錯(cuò)就是因?yàn)槟愕腸lass A不是一個(gè)spring的bean, spring無(wú)法幫你注入class B.如果要在不是spring bean的class A中使用class B只能手動(dòng)把class Bset進(jìn)去.

標(biāo)簽: java
相關(guān)文章: