美文网首页
context:component-scan的一点记录

context:component-scan的一点记录

作者: 有时右逝 | 来源:发表于2019-08-21 09:41 被阅读0次

    前言

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

    配置

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

    spring.xml

    <context:component-scan base-package="com.wuwenfu.aily">
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>
    

    spring-mvc.xml

    
        <context:component-scan base-package="com.wuwenfu.aily.controller" >
    
            
        </context:component-scan>
    

    解释

    • 这个标签主要功能就是扫描,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 表示会排除符合该过滤器的类。

    • 过滤器表

    image.png

    其中经常使用的过滤器是

            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    
    

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

    相关文章

      网友评论

          本文标题:context:component-scan的一点记录

          本文链接:https://www.haomeiwen.com/subject/pmbpsctx.html