问答详情
源自:4-3 Spring Bean装配之Autowired注解说明-2

关于Component有一点疑问

给我的感觉,@Component可以代替之前xml上定义的beanid ,让super.getBean()。 

那么在只BeanInvoker上定义了就行了啊。

为什么@Component , 除了在BeanInvoker定义,还要在接口的实现类上都定义了?

而我测试发现, 不能不定义, 否则就报错。


提问者:风中过客 2016-02-21 18:13

个回答

  • 河边的大巫
    2016-02-23 21:14:24
    已采纳

    @Component注解的Target是类,接口是不能实例化的。注解在接口上没有意义。就如xml定义beanid后,beanid对应的实例化的类一定是实现类而不是接口。两者是同理的。