码迷,mamicode.com
首页 > 编程语言 > 详细

关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包

时间:2017-11-29 19:55:17      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:github   规则   base   nts   ide   dea   com   研究   git   

原因:同事在写demo时出现bean加了@component后却无法被spring扫描到(在编译的时候IDEA就提示拿不到对应的bean)的问题. 
后来经过研究是跟文件包的位置有关的.

springboot的bean装配规则: 
根据Application类所在的包位置从上到下进行扫描的! 
“Application类”是指springboot的项目入口类.这个类的位置很关键: 
如果Application类所在的包为:io.github.gefangshuai.app那么扫描的位置就是:io.github.gefangshuai.app包及其下的所有子包.如果需要注入的bean不在io.github.gefangshuai.app包及其子包下,则不会被扫描到.

注:可以通过对Application类添加@ComponentScan(basePackages={“xxx.xxx”,”xxx.xxx”})来指定扫描的包,但是一旦指定后就不会在默认扫描Application类下的包.

关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包

标签:github   规则   base   nts   ide   dea   com   研究   git   

原文地址:http://www.cnblogs.com/lilinzhiyu/p/7921896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!