SpringBoot中@ComponentScan的使用详解
SpringBoot @ComponentScan的使用
SpringBoot的启动类中有一个@ComponentScan,之前项目由于这个注解造成打包失败,这里对于这个注解进行总结,防止下次遇到这个问题再被难住。
其实这个注解主要是针对于第三方jar包中注解的应用。
如果第三方包中没有使用注解那么就完全不需要使用这个注解
使用方式如图所示,这里扫描的是
maven项目的依赖包中的ins目录下的组件
如果是直接引用项目
那么就要引用这个项目代码的根路径,一般公司会命名为“cn”
SpringBoot @ComponentScan 作用
SpringBoot在写启动类的时候如果不使用@ComponentScan指明对象扫描范围,默认指扫描当前启动类所在的包里的对象,如果当前启动类没有包,则在启动时会报错:
Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package错误
因为启动类不能直接放在main/java文件夹下,必须要建一个包把它放进去或者使用@ComponentScan指明要扫描的包。代码示例如下:
@SpringBootApplication @ComponentScan(basePackageClasses=MytestApplication.class) public class MytestApplication { public static void main(String[] args){ SpringApplication.run(MytestApplication.class, args); } }
@ComponentScan(basePackageClasses=要扫描类.class所在位置的包)-意思是要扫描哪个类所在的包
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
妙用Java8中的Function接口消灭if...else
在开发过程中经常会使用if...else...进行判断抛出异常、分支处理等操作。这些if...else...充斥在代码中严重影响了代码代码的美观,本文就妙用Java8中的Function接口消灭if...else,感兴趣的可以了解一下2022-01-01JSON.toJSONString()空字段不忽略修改的问题
这篇文章主要介绍了JSON.toJSONString()空字段不忽略修改的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02Java中stream.map和stream.forEach的区别
本文主要介绍了Java中stream.map和stream.forEach的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-08-08SpringAOP+RabbitMQ+WebSocket实战详解
这篇文章主要介绍了SpringAOP+RabbitMQ+WebSocket实战详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-11-11
最新评论