我具有以下多项目结构:
-ParentProject
-project1
-src
-package1
-package1.1
-package1.2
Scan.java
Main.java
-src
-package2
-package2.1
-package2.2
在Scan.java中,我具有以下代码片段:
final ActionForSimulatorComponent annotation = AnnotationUtils.findAnnotation(bean.getClass(), ActionForSimulatorComponent.class);
有效地,我想做的是找到所有带有@ActionForSimulatorComponent批注的bean。但是我只找到package1中存在的bean,而不是package2中存在的bean。足够公平,因此我在Main.java中尝试了以下操作:
@SpringBootApplication
@ComponentScan(value = {"package1", "package2"}, nameGenerator = FullClassBeanNameGenerator.class)
public class Main extends Scan
那只返回package1的bean,但是没有返回package2的bean。我怀疑我的项目结构错误,我知道我需要将主类放入父包中,然后所有内容都将向下扫描而不会出现问题。但是发生的是,我有两个不同的项目,并将project1作为源树包含在parentProject中。
Spring是否有可能使用这种结构?如果是这样,我在做什么错?
我可以在拥有Main类的子项目的父项目中扫描bean吗?