美文网首页
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