context:component-scan的一点记录

前言

目前项目一直使用的ssm结构,相对springboot存在,ssm配置起来的确繁琐。但是有个好处,对spring的一些原理能理解更深一点。这里记录一下刚刚的心得

配置

  • 贴下我的配置。ssm这里我存在2个xml。spring的配置和spring-mvc配置。

spring.xml


        
    

spring-mvc.xml


    

        
    

解释

  • 这个标签主要功能就是扫描,spring就会去自动扫描base-package对应的路径或者该路径的子包下面的java文件,如果扫描到文件中带有@Service,@Component,@Repository,@Controller等这些注解的类,则把这些类注册为bean

  • Use-default-filter 默认为true,那么会对base-package包或者子包下所有的java类进行扫描,并把匹配的java类注册成bean。此时如果配置context:incluce-filter 多此一举。

    如果为false,这必须配置context:incluce-filter 否则会无法扫描注册类。

  • 子标签 context:incluce-filter 表示会扫描符合该过滤器的类。

  • 子标签 context:exclude-filter 表示会排除符合该过滤器的类。

  • 过滤器表

context:component-scan的一点记录_第1张图片
image.png

其中经常使用的过滤器是

        

通常表示spring.xml不扫描Controller,而交给spring-mvc.xml来扫描。否则会导致2次注册。

你可能感兴趣的:(context:component-scan的一点记录)