找不到bean类Consider defining a bean of type (若依二开笔记)

错误描述:

        问题在重构项目以后,之前的配置无法满足扫描到有bean的文件需要在启动类上添加注解

@ComponentScan(basePackages = {"com.common.domain.config"})

通过写表达式的方式来进行扫描有bean的包即可完成运行可写多个使用“,”号隔开

 表达式书写规则:

        @ComponentScan注解的basePackages属性用于指定要扫描的包的路径。它可以接受字符串数组,表示需要扫描的一个或多个包路径。basePackages属性可以使用通配符表达式来扫描符合特定规则的包。

例如,如果需要扫描com.XXXX.common.domain.config及其子包下的所有组件,可以使用以下表达式:

@ComponentScan(basePackages = {"com.XXXX.common.domain.config"})

如果需要扫描多个包,则可以使用以下表达式:

@ComponentScan(basePackages = {"com.XXXX.package1", "com.XXXX.package2"})

如果需要扫描某些包中的所有类,包括不同的子包和头文件,则可以使用通配符表达式。例如,以下表达式将扫描以com.XXXX.common.domain.config开头的任何包和子包中的所有组件:

@ComponentScan(basePackages = {"com.XXXX.common.domain.config.*"})

通配符“*”表示任何文本字符序列(不包括路径分隔符“/”)。

表达式中的*和**的区别

在Spring中,通配符' *'和' ** '在@ComponentScan注解中的basePackages属性中都有不同的用法。

通配符''通常只用于表示在包名中的最后一级进行匹配,例如:com.XXXX.common.,表示扫描com.XXXX.common包及其直接子包下的组件。

而' ** '则用于表示扫描所有的子包和被扫描包中的所有组件,例如:com.XXXX. **,表示扫描com.bwie包及其所有子包中的组件。

需要注意的是,在使用' ** '表达式时,如果没有指定特定的子包或组件类,则可能会扫描更多的包和文件,导致性能下降,因此需要谨慎使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值