1

如果我只写

@ComponentScan

Spring 将扫描当前包及以下。

如果我写

@ComponentScan(basePackages = {"my.package.com"})

我可以隐式指定当前包以及一些显式包吗?

像这样的东西

@ComponentScan(basePackages = {"", "my.package.com"})
4

1 回答 1

2

JavaDoc说:

如果未定义特定的包,则会从声明此注解的类的包中进行扫描。

因此,如果您声明任何要扫描的包,默认行为将被覆盖。但是,我看不出您需要对当前包进行隐式扫描的原因,只要它不会在运行时更改。如果你想在重构时保护自己,你可以使用 Type-safe basePackageClasses代替:

@ComponentScan(basePackageClasses = {Config.class, ClassInPackageToScan.class})
于 2017-04-04T10:27:36.617 回答