Spring4 学习系列之——在classpath目录下扫描组件

不打扰是莪最后的温柔 提交于 2019-12-10 06:53:33

•当在组件类上使用了特定的注解之后, 还需要在 Spring 的配置文件中声明 <context:component-scan> :

–base-package 属性指定一个需要扫描的基类包,Spring 容器将会扫描这个基类包里及其子包中的所有类.

–当需要扫描多个包时, 可以使用逗号分隔.

–如果仅希望扫描特定的类而非基包下的所有类,可使用 resource-pattern 属性过滤特定的类,示例:

–<context:include-filter> 子节点表示要包含的目标类

–<context:exclude-filter> 子节点表示要排除在外的目标类

–<context:component-scan> 下可以拥有若干个 <context:include-filter> 和 <context:exclude-filter> 子节点

•<context:include-filter> 和 <context:exclude-filter> 子节点支持多种类型的过滤表达式:

 

<!-- 扫描该包下的所有 -->        
<!-- <context:component-scan base-package="com.auotwrite"></context:component-scan> -->


<!-- resource-pattern 指定扫描的资源 -->
<!-- <context:component-scan base-package="com.auotwrite" resource-pattern="respo/*.class"></context:component-scan> -->

<!-- 子节点表示指定要排除在外的目标类 -->
<!-- <context:component-scan base-package="com.auotwrite">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan> -->

<!-- 子节点表示指定要包含的目标类 该方法需配合 use-default-filters 属性使用 -->
<!-- <context:component-scan base-package="com.auotwrite"
    use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan> -->

<!-- 子节点表示指定要排除的继承该类的目标 关键属性:type="assignable  -->
<!-- <context:component-scan base-package="com.auotwrite">
    <context:exclude-filter type="assignable" expression="com.auotwrite.respo.CarProI"/>
</context:component-scan> -->

<!-- 子节点表示指定要包含的继承该类的目标 关键属性 :type="assignable 注意:需配合 use-default-filters 属性使用 -->
<context:component-scan base-package="com.auotwrite" use-default-filters="false">
    <context:include-filter type="assignable" expression="com.auotwrite.respo.CarProI"/>
</context:component-scan>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!