当我在不同的@Configuration类中添加多个@ComponentScan时会发生什么

时间:2018-10-29 11:25:22

标签: spring spring-boot

使用spring时,我希望具有如下配置结构:

//package com.test
//main configuration A
@Configuration
@ComponentScan({"com.pakcage.A", "com.common"})
public class AppA{
...
}

//package com.test
//main configuration B
@Configuration
@ComponentScan({"com.pakcage.B", "com.common"})
public class AppB{
...
}

//package com.common
//sub configuration for common use
@Configuration
@ComponentScan({"com.pakcage.common1", "com.package.common2"})
public class CommonConfig{
...
}

我可以使用Configuration AppA或Configuration AppB来启动我的应用程序,它们都包含一些常见的软件包,例如

  

“ com.pakcage.common1” /“ com.package.common2”

,我想将其设置为一个配置。

我想问

  1. 当我乘以@ComponentScan时会发生什么,所有@ComponenScan都将组合在一起?
  2. 是否有一些源代码参考来了解这种情况的发生?

1 个答案:

答案 0 :(得分:2)

  1. 是的,将扫描任何@ComponentScan定义的所有软件包。
  2. 是的,spring框架是开源的。您可以访问源here