我看到我们有@org.springframework.context.annotation.ComponentScans
和@org.springframework.context.annotation.ComponentScan
。
@ComponentScans()
?@ComponentScans()
从不同@ComponentScan({"com.org.abc", "com.org.xyz"})
如果启用了组件扫描Spring可以自动扫描包豆。
@ComponentScan
提供配置的软件包来扫描与注释配置类。我们可以用basePackages或值参数中的一个直接地指定基本包名(值是basePackages别名)@Configuration @ComponentScan(basePackages = "com.baeldung.annotations") class VehicleFactoryConfig {}
另外,我们可以指向与基础包中的类
basePackageClasses
的说法:@Configuration @ComponentScan(basePackageClasses = VehicleFactoryConfig.class) class VehicleFactoryConfig {}
两个参数是数组,这样我们可以为每个多个包。
如果没有指定参数,则扫描从同一个包,其中恰好
@ComponentScan
注解的类是否存在。@ComponentScan利用Java 8重复注解功能,这意味着我们可以标记与它多次的类:
@Configuration @ComponentScan(basePackages = "com.baeldung.annotations") @ComponentScan(basePackageClasses = VehicleFactoryConfig.class) class VehicleFactoryConfig {}
或者,我们可以使用
@ComponentScans
指定多个@ComponentScan
配置:@Configuration @ComponentScans({ @ComponentScan(basePackages = "com.baeldung.annotations"), @ComponentScan(basePackageClasses = VehicleFactoryConfig.class) }) class VehicleFactoryConfig {}
你可以发现更多的Spring bean注解
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句