@ComponentScan在Spring boot AutoConfiguration类中不起作用?
2022-09-04 01:32:34
我正在尝试创建一个新的启动器。我有一个业务模块,比如ProjectManager,其中包含一些用@Component注释的类。在本教程之后,我创建了一个自动配置模块,它包含一个自动配置类。首先,我尝试使用@ComponentSan在我的业务模块中查找 Bean。
@ComponentScan(value = {"com.foo.project"})
@ConditionalOnClass({Project.class})
@Configuration
public class ProjectAutoConfiguration {
....
}
但它不起作用。我必须添加其他配置类,如下所示:
@Configuration
@ComponentScan(value = {"com.foo.project"})
@MapperScan(value = {"com.foo.project"})
public class ProjectConfig {
}
然后将其导入到自动配置类中,如下所示:
@Import(ProjectConfig.class)
@ConditionalOnClass({Project.class})
@Configuration
public class ProjectAutoConfiguration {
....
}
这行得通。但根据春季文档。
自动配置是使用标准@Configuration类实现的
所以我的问题是,为什么@ComponentScan在这里不起作用?我做错了什么吗?还是设计使然?