@ComponentScan如不加任何参数,默认会扫面当前标注类所在的包及其子包下@Controller、@Service、@Repositroy注解,如果看一下这些注解源码会发现,这些注解都有共同的注解@Component,@ComponentScan注解默认会装配标示了@Component注解的类到Spring容器中,所有也会将以上三个装配
新建一个配置类:设置value参数
了解@ComponentScan注解源码,看这篇就够
这样就会把com.test包所有标示了以上注解的类装配到spring容器

看一下@ComponentScan的源码
了解@ComponentScan注解源码,看这篇就够
演示basePackageClasses参数,如我们把配置文件改成如下
了解@ComponentScan注解源码,看这篇就够
则只有dao包下及IUserInfoService会被装配

演示includeFilters参数的使用如下:
新建一个service:
了解@ComponentScan注解源码,看这篇就够
修改配置文件如下
了解@ComponentScan注解源码,看这篇就够

这样TestService也会被装配到Spring容器中,虽然TestService类没有被注解标注

总结一下@ComponentScan的常用方式如下

自定扫描路径下边带有@Controller,@Service,@Repository,@Component注解加入spring容器

@Value说明要扫描的包

通过includeFilters加入扫描路径下没有以上注解的类加入spring容器

通过excludeFilters过滤出不用加入spring容器的类

自定义增加了@Component注解的注解方式

相关文章:

  • 2022-01-17
  • 2021-04-15
  • 2022-12-23
  • 2022-02-09
  • 2022-01-18
  • 2022-02-22
  • 2022-12-23
  • 2021-07-16
猜你喜欢
  • 2021-06-17
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
相关资源
相似解决方案