Java 如何使用@ComponentScan扫描当前包和其他包?
如果我只写Java 如何使用@ComponentScan扫描当前包和其他包?,java,spring,component-scan,Java,Spring,Component Scan,如果我只写 @ComponentScan Spring将扫描当前软件包及以下内容 如果我写 @ComponentScan(basePackages = {"my.package.com"}) 我可以隐式地指定当前包和一些显式包吗 像这样的 @ComponentScan(basePackages = {"", "my.package.com"}) 报告说: 如果未定义特定的包,将从 声明此批注的类的包 因此,如果您将任何包声明为扫描,则默认行为将被覆盖。 但是,我不明白为什么需要对当前包进行
@ComponentScan
Spring将扫描当前软件包及以下内容
如果我写
@ComponentScan(basePackages = {"my.package.com"})
我可以隐式地指定当前包和一些显式包吗
像这样的
@ComponentScan(basePackages = {"", "my.package.com"})
报告说:
如果未定义特定的包,将从
声明此批注的类的包
因此,如果您将任何包声明为扫描,则默认行为将被覆盖。
但是,我不明白为什么需要对当前包进行隐式扫描,只要它不是运行时将要更改的内容。
如果要在重构时保护自己,可以改用类型安全:
您可以在类上添加多个
@ComponentScan
注释。或者您可以只指定包而不是“”。
@ComponentScan(basePackageClasses = {Config.class, ClassInPackageToScan.class})