SpringBoot学习(6)(Bean对象扫描)(@ComponentScan)

目录

一、引言

(1)需学习有关如下

二、Bean扫描

(1)spring中

(2)springboot中

三、Bean扫描总结


一、引言

要学习和了解了bean对象管理相关的知识,才能去理解springboot自动配置的原理

(1)需学习有关如下
  • Bean扫描
  • Bean注册
  • 注册条件

二、Bean扫描

(1)spring中
  • 如果在xml配置中,可以借助标签<context:component-scan ... />来指定要扫描的包路径。
  • 如果是使用配置类的方式,可以借助@ComponentScan(basePackages="...")来指定扫描的包路径

(2)springboot中

(在springboot中并没有发现书写上面的标签和注解,但是依然可以扫描到我们写的,如controller、service等等???)

  • 核心就在我们的启动类的注解上:@SpringBootApplication。这个注解其实是一个组合注解!组合的另外一个注解叫:@ComponentScan。这就相当于我们在启动类上添加了一个它的注解,这就是为什么我们不需要手动添加,也能自动扫描到controller、service等等。

  • 但是@ComponentScan这个注解并没有指定要扫描的包路径。如果不指定扫描的包路径,它默认扫描的添加该注解的类、以及所在的包和其子包,如下它只能扫描到启动类SpringbootQuickstartApplication所在的com.feisi.springbootquickstart这个包下的类、包。

  • 如果我把controller包把它移动到其它的包下,然后想要它扫描,如何做到呢?


  • 首先先不修改启动类里面的注解,直接启动


  • 现在修改一下启动类里面的注解,添加注解@ComponentScan指定包扫描路径"com",因为它两个包都在com包下。再重启springboot工程即可


三、Bean扫描总结

(1)spring boot默认只能扫描启动类所在的包及其子包。其它地方扫描不到。

(2)若想要扫描其它的包,可以手动的去添加注解@ComponentScan。在实际开发中,一般都是直接写在启动类所在的包下,不会乱放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岁岁岁平安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值