@ComponentScan解析

@ComponentScan解析

先了解@Component

要想了解@ComponentScan必须先明白@Component,组件扫描(@component):Spriing自动发现应用上下文中所创建的bean,在自动配置的方式中,使用@Component告诉Spring,我是一个bean,你要来管理我,然后使用@AutoWired注解去装配Bean(所谓装配,就是管理对象直接的协作关系)。其优点是:使用范围比较广,所有类都可以进行注解。@Component的作用就是把普通的pojo实例化到Spring容器中,相当于配置文件中的,所以**@Component这种方式适用于程序员自身开发的组件(有源码)。**(这句话很重要是将@Component和@Bean区分的关键)

@ComponentScan

最近在做项目,对于@ComponentScan这个注解有了新的认识,@ComponentScan主要是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中,而标识的需要装配的类会添加注解@Component,@Service,@Controller,@Repository,@Configuration,对于Spring Boot项目,主启动类同样也会扫描同级包以及其包下的所有子包的@Component注解的类,主启动类的扫描机制之所以和@ComponentScan相同,原因是在于主启动类的@SpringBootApplication内包含了@ComponentScan

在这里插入图片描述

明白了Spring Boot项目中主启动类的扫描机制后我们产生了一个问题,实际项目中为了降低各个模块的耦合程度,通常会将一些通用的功能整合到其他模块中,怎样能让主启动类扫描到非本模块中的@Component?第一步先将其他模块依赖导入主启动类所在模块的pom.xml中第二步只需要将主启动类上方添加@ComponentScan(“需要扫描的包名”)这样主启动类就会扫描到其他模块了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

存量美团骑手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值