一尘不染

如何使用@ComponentScan批注扫描多个路径?

spring

我正在使用Spring 3.1,并使用@Configuration@ComponentScan属性引导应用程序。

实际的开始是

new AnnotationConfigApplicationContext(MyRootConfigurationClass.class);

此配置类带有注释

@Configuration
@ComponentScan("com.my.package")
public class MyRootConfigurationClass

而且效果很好。但是,我想更详细地说明我扫描的软件包,所以我尝试了。

@Configuration
@ComponentScan("com.my.package.first,com.my.package.second")
public class MyRootConfigurationClass

但是,此操作失败,并显示错误消息,提示我找不到使用@Component注释指定的组件。

谢谢


阅读 1456

收藏
2020-04-15

共1个答案

一尘不染

@ComponentScan使用字符串数组,如下所示:

@ComponentScan({"com.my.package.first","com.my.package.second"})

当您仅在一个字符串中提供多个包名称时,Spring会将其解释为一个包名称,因此找不到它。

2020-04-15