首页 专题 文章 代码 归档
自动扫描包的一些配置
2020.01.24 13:57 2020.03.16 13:36

1. 自动扫描包

既然能自动扫描一些包,那么想排除一些包呢?

很简单,给context:component-scan标签增加一些配置即可!


A. 只排除

如下:

<!--扫描包-->
<context:component-scan base-package="com.misiai">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
    <!--type="annotation" 代表按照注解类型来排除
        expression 就是某个注解所在全限定类名
    -->
</context:component-scan>
<!--com.misiai包下包括:bean、controller包,所以我们具体到com.misiai即可-->

具体:(我们一般只学下列的1和2)

1、type="annotation" 代表按照注解类型来排除,expression 就是某个注解所在全限定类名

2、type="assignable" 按照具体的类排除,expression 就是某个类所在全限定类名

3、type="aspectj" 按键表达式

4、type="custom" 按照自定义TypeFilter实现类中的逻辑排除

5、type="regex" 按照正则表达式排除


B. 只需要

如下:

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

具体参数和A一样的。

注意:需要禁用掉默认规则!

<context:component-scan base-package="com.misiai" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

即加上:use-default-filters="false"


注意:A和B不能同时配置!

本节阅读完毕! (分享
二维码图片 扫描关注我们哟