那些年我们遇到的坑(3)-basePackages和scanBasePackages
来源:互联网 发布:软件专利 实用新型 编辑:程序博客网 时间:2024/05/28 23:10
1.SpringBootApplication启动时会默认扫描主类当前包及子包,如果需要扫描主类当前包外的其他包或不扫描当前包下的特定包或类,可通过下列属性实现:
Class<?>[] exclude() default {};String[] excludeName() default {};String[] scanBasePackages() default {};Class<?>[] scanBasePackageClasses() default {};
详细解释请见org.springframework.boot.autoconfigure.SpringBootApplication,示例如下:
@SpringBootApplication(excludeName=("com.gxfw.wx.service.UserService"), scanBasePackages=("com.gxfw"))
excludeName属性未经测试,此处权供参考
2.@EnableFeignClients注解默认也是会扫描注解所在包的当前包及子包,如果需要扫描其他包下的FeignClient,需要单独使用属性指定
String[] basePackages() default {};Class<?>[] basePackageClasses() default {};Class<?>[] defaultConfiguration() default {};Class<?>[] clients() default {};
详细解释请见org.springframework.cloud.netflix.feign.EnableFeignClients,示例如下:
@EnableFeignClients(basePackages = ("com.gxfw"))
总结:@SpringBootApplicatoin是用的@ComponentScan扫描,扫描的是Component,包括@Component, @Controller, @Service, @Repository等,而@EnableFeignClients扫描的是@FeignClient,所以在指定扫描路径时要分别指定,否则会报异常:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.gxfw.bbs.feign.ArticleFeignClient' available: expected at least 1 bean which qualifies as autowire candidate.
以及SpringBoot的启动错误:
Description:
Field articleFeignClient in com.gxfw.bbs.wx.controller.ArticleAPI required a bean of type ‘com.gxfw.bbs.feign.ArticleFeignClient’ that could not be found.
Action:
Consider defining a bean of type ‘com.gxfw.bbs.feign.ArticleFeignClient’ in your configuration.
- 那些年我们遇到的坑(3)-basePackages和scanBasePackages
- 那些年,我们一起遇到的坑
- 那些年,我们挖过的坑和遇到的坑(代码)
- 那些年我们遇到的坑(2)-FeignClient
- [Spark]那些年我们遇到的Spark的坑
- 那些年,我们遇到的异常。。。(持续更新)
- 那些年,我们遇到过的“S”
- 那些年,我们遇到的傻逼问题
- 那些年我们遇到的c面试题
- 项目管理启航篇-那些年,我们遇到的项目经理。
- 扒一扒那些年我们遇到的奇葩代码
- 那些年我们遇到的坑(1)-Description Resource Path Location Type Archive for required library
- 那些年,我们在Java ArrayList Remove方法遇到的坑
- 那些年 我们遇到的ARM面试题(不定时更新)
- 那些年我们遇到的bug系列一(安卓+asp.net+sql server开发)
- 那些年遇到的那些坑
- 那些年的我们
- 那些年遇到的坑
- 通过SQL语句实现记录的重复次数排序
- 资源包
- Ubuntu中gdb调试步骤
- react 父子组件通讯
- Treefrog应用程序
- 那些年我们遇到的坑(3)-basePackages和scanBasePackages
- Spring boot 单元测试
- Ie9以下的input输入框placeholder属性兼容方案
- 设计模式之工厂方法模式
- 第1.7章 scrapy之ip代理的使用
- 二叉树的遍历
- 合并两个序列
- day03
- 【Mybatis】基础了解