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

java - @Component重新給bean命名后,為什么@Resource找不到?

瀏覽:130日期:2024-02-01 10:49:43

問題描述

CompactDisc有多個實現類,我想要注入其中的一個

@Componentpublic class SgtPeppers implements CompactDisc { private String title = 'Sgt. Pepper’s Lonely Hearts Club Band'; private String artist = 'The Beatles'; public void play() {System.out.println('Playing ' + title + ' by ' + artist); }}

java - @Component重新給bean命名后,為什么@Resource找不到?

用默認的bean可以

但是我把bean id改成其他,比如

@Component('segment')public class SgtPeppers implements CompactDisc { ...}

java - @Component重新給bean命名后,為什么@Resource找不到?

怎么就找不到了?

3月10號更新,今天又可以了,真是奇怪,還是沒找到出現問題的關鍵

3月17號:感覺是IDE的問題

問題解答

回答1:

這肯定找不到啊,你用@Component就是自動注入,然后注入的名字就是sgtPeppers.@Resource是根據name取,你名字不對怎么能取對呢.補充一點自動注入名稱是根據類名 然后第一個字母小寫來注入的名字

回答2:

你需要 指定 @Compoent('segment')

標簽: java
国产综合久久一区二区三区