那些年我们遇到的坑(3)-basePackages和scanBasePackages

2023-11-04

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.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

那些年我们遇到的坑(3)-basePackages和scanBasePackages 的相关文章

随机推荐

  • 【Go语言(golang)教程】A Tour of Go 七十集大全

    http www aqee net go a tour of go 5 Go语言 golang 教程 A Tour of Go 1 Hello World Go语言 golang 教程 A Tour of Go 2 安装离线练习器 Go语言
  • 数字电子钟 1Hz 秒脉冲信号的设计

    数字电子钟 1Hz 秒脉冲信号的设计 摘 要 要设计数字钟 首先应选择一个能产生稳定的标准时间脉冲信号 而脉冲源产生的脉冲信号的频率较高 因此 需要进行分频 使高频脉冲信号变成适合于计时的低频脉冲信号 即 秒脉冲信号 频率1HZ 1引言 数
  • 找出看了5个电影以上的用户

    问题 在1亿条用户记录里 如何快速查询统计出看了5个电影以上的用户 解答 分以下几个步骤完成 1 建立 hash map lt 用户 电影数 gt 2 顺序扫描1亿条用户记录 1 如果 用户 在hash map中不存在 则新增并设 电影数
  • IT项目管理之第5章 项目时间管理习题之案例分析汇总

    IT项目管理之第5章 项目时间管理习题之案例分析汇总 项目时间管理习题之案例分析汇总 案例1 案例分析 案例1参考答案 案例2 案例2分析 案例2参考答案 叮嘟 这里是小啊呜的学习课程资料整理 好记性不如烂笔头 今天也是努力进步的一天 一起
  • DevopsCamp 第 2 期作业: 《cobra - 05 Go 项目的目录结构》

    DevopsCamp 第 2 期作业 cobra 05 Go 项目的目录结构 原文链接 https typonotes com posts 2023 02 13 devopscamp cobra 05 layout Go 项目的目录结构 G
  • windows server 2016搭建AD域

    此实验以windows sever 2016为例 安装windows server 2016 操作省略 一台服务器想要安装成AD DC 活动目录域服务 必须具备以下条件 安装者必须具有本地管理员权限 DNS基础结构的支持 可以在安装AD D
  • 电脑开机出现黑屏,出现“windows 未能启动,原因可能更改了硬件或者软件,解决此类问题的步骤”

    出现问题的界面如下 解决此类问题的步骤如下 1 直接按 enter 回车键 2 出现以下界面 我自己的是windows 10系统哈 因为当时没保存自己的照片 只能拿这个顶替一下 但是步骤是一样的 3 然后按提示按F8 正常来说时会出现以下的
  • Python高级函数2:使用itertools、functools、operator使得代码更高效、可读、可重用

    Python高级函数2 使用itertools functools operator使得代码更高效 可读 可重用 1 原理 itertools groupby functools partial operator attrgetter 和
  • python生成gif(图片渐变)

    show you the code 后面还需要完善图片分辨率的处理 这样就比较好了 目前分辨率没有进行处理 import os import imageio from PIL import Image from images2gif imp
  • 【python】IPython的使用技巧整理

    IPython是一种基于Python的交互式解释器 提供了强大的编辑和交互功能 IPython拥有 满足你各种需求的交互式shell 火爆数据科学社区的Jupyter内核 供Jupyter Notebook使用 对交互式数据可视化和GUI工
  • Cocos2d-X3.0版的HelloWorld工程分析

    打开上一篇博客中的HelloWorld工程后 会看到下图所示的工程文件 main cpp文件中的代码 本人已经注释 1 2 3 4 5 6 7 8 9
  • MATLAB2016笔记(十):曲线拟合、参数估计

    文章目录 一 曲线拟合函数 一 概述 二 多项式拟合 polyfit 三 加权最小方差 WLS 拟合 自行编写polyfits 四 非线性曲线拟合 lsqcurvefit 二 参数估计函数 一 常见分布的参数分布 二 点估计 最大似然估计
  • Puppeteer入门初探

    本文来自网易云社区 作者 唐钊 最近在看 node 爬虫相关的一些东西 我记得还是很久以前常用的 node 爬虫工具还是 superagengt cherrio 他们的思路是通过发起 http 请求然后截取 respone 的内容 但是随着
  • Vue集成百度的Ueditor 前端+后台

    1 vue安装命令 npm i vue ueditor wrap 2 下载插件 Ueditor官网地址为 Ueditor 3 插件位置 下载好之后 将Jsp版本解压 解压后文件夹改名为UEditor 将文件夹中的 jsp目录删掉 将UEdi
  • 【编程笔试】美团2021校招笔试-通用编程题第2场(附思路及C++代码)

    导览 练习地址 小团的配送团队 不一样的逆序数 小团的旅行路线 小团的车辆调度 总结 练习地址 点此前往练习 小团的配送团队 小团是美团外卖的区域配送负责人 众所周知 外卖小哥一般都会同时配送若干单 小团在接单时希望把同一个小区的单子放在一
  • Android事件监听器和回调方法

    事件是 Android 平台与用户交互的手段 当用户对手机进行操作时 会产生各种各样的输入事件 Android 框架捕获到这些事件 进而进行处理 Android 平台提供了多种用于获取用户输入事件的方式 考虑到用户事件都是在特定的用户界面中
  • 嵌入式的发展前景如何?

    嵌入式的发展前景呈上升的趋势 其本身的薪资待遇并不低 再加上技术更新迭代日新月异 发展前景非常好 目前 工业发展迅速 并紧跟时代的潮流积极引进嵌入式技术 推动工业发展向着全面自动化的方向发展 同时智能仪表 自动化数控设备 现代化技术等与嵌入
  • JS 监听浏览器各个标签间的切换-visibilitychange事件介绍

    JS 监听浏览器各个标签间的切换 以前看到过一些网页 在标签切换到其它地址时 网页上的标题上会发生变化 一直不知道这个是怎么做的 最近查了一些资料才发现有一个 visibilitychange 事件就可以搞定 这里将介绍一下页面可见性 Pa
  • nfs使用mount -o传递用户名和密码参数需要修改的地方

    挂在的信息一般通过 nfs parse mount option 可以直接打印 会有很多信息 1 修改的地方在super c该文件涉及到获取超级快等操作 修改enum 在里面添加 Opt username Opt passwd 2 修改另一
  • 那些年我们遇到的坑(3)-basePackages和scanBasePackages

    1 SpringBootApplication启动时会默认扫描主类当前包及子包 如果需要扫描主类当前包外的其他包或不扫描当前包下的特定包或类 可通过下列属性实现 Class scanBasePackageClasses default 详细