为什么我们需要编写@Component批注,然后在Spring中再次编写@ComponentScan?我们可以使用特殊的包定义@ComponentScan,但是我可以想象一个场景,当我们将一个类注释为@Component并从搜索中排除它时。
答案 0 :(得分:2)
简单地说,@Component
用于将类标记为在@componentscan
期间需要标识的bean,
@componentScan
仅查找带有@Component
注释的bean,并为其创建bean。
通常,@ComponentScan
将扫描所有类和子包类,但是如果其他包中有任何类不是主包的子包,则应手动将它们添加到@ComponentScan
>
如果您查看文档,所有@Controller
,@Service
都用@Component
注释
@Component
public @interface Controller {
…
}
@Component
public @interface Controller {
…
}