文章詳情頁
java - spring boot @Autowired
瀏覽:170日期: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
相關文章:
1. 在應用配置文件 app.php 中找不到’route_check_cache’配置項2. html按鍵開關如何提交我想需要的值到數據庫3. HTML 5輸入框只能輸入漢字、字母、數字、標點符號?正則如何寫?4. javascript - 請教如何獲取百度貼吧新增的兩個加密參數5. Android中能不能判斷一個數據庫是create來的,還是open來的?6. gvim - 誰有vim里CSS的Indent文件, 能縮進@media里面的7. 跟著課件一模一樣的操作使用tp6,出現了錯誤8. PHP類屬性聲明?9. javascript - 求助canvas繪制馬賽克的問題,老是取色不準10. java - 安卓接入微信登錄,onCreate不會執行
排行榜
