Spring Boot多模块包扫描问题
1.@SpringBootApplication
@SpringBootApplication(scanBasePackages = "cn.mypackage1","cn.mypackage1")
public class Application {
public static void main(String[] args) {
SpringApplication.run(DeviceApplication.class, args);
}
}
使用@SpringBootApplication的scanBasePackages属性,配置scanBasePackages扫描多个包及子包内的bean
注意
@SpringBootApplicationscan的BasePackages属性不配置的话会默认扫描本类包内及子类包内的bean,如果配置了BasePackages则不会扫描本类包内及子类包内的bean
2.@ComponentScan
@ComponentScan(basePackages = "cn.mypackage1","cn.mypackage1")
public class Application {
public static void main(String[] args) {
SpringApplication.run(DeviceApplication.class, args);
}
}
这个注解的使用方法和SpringBootApplication基本一致
3.@Import
@Import(LogAspect.class)
public class Application {
public static void main(String[] args) {
SpringApplication.run(DeviceApplication.class, args);
}
}
如果希望引入包里的某一个bean,而不想引入该包下的全部bean,可以使用@Import注解
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Import({SchedulingConfiguration.class})
@Documented
public @interface EnableScheduling {
}
例如,springboot启动定时器也是使用了Import注解
版权声明:本文为baidu_39157826原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。