文章详情页
java - @Component重新给bean命名后,为什么@Resource找不到?
问题描述
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); }}
用默认的bean可以
但是我把bean id改成其他,比如
@Component('segment')public class SgtPeppers implements CompactDisc { ...}
怎么就找不到了?
3月10号更新,今天又可以了,真是奇怪,还是没找到出现问题的关键
3月17号:感觉是IDE的问题
问题解答
回答1:这肯定找不到啊,你用@Component就是自动注入,然后注入的名字就是sgtPeppers.@Resource是根据name取,你名字不对怎么能取对呢.补充一点自动注入名称是根据类名 然后第一个字母小写来注入的名字
回答2:你需要 指定 @Compoent('segment')
标签:
java
排行榜