spring笔记之
2018-01-18  本文已影响0人  继李扶危

描述

context:component-scan用于扫描指定包内的Bean。

使用方式

常用配置示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.2.xsd">
    <context:component-scan base-package="com.demo.*" annotation-config="true"
                            name-generator="org.springframework.context.annotation.AnnotationBeanNameGenerator"
                            use-default-filters="true">
        <context:exclude-filter type="annotation"
                                expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

</beans>

参数说明

base-package

配置需要扫描的包路径,多个包使用逗号隔开
base-package="com.demo1.*,com.demo2.*"

annotaion-config

向spring中注册一下处理器,这些处理器处理@Autowired等注解

name-generator

指定生成Bean名字的生成器,在向容器中注册bean时需要指定一个名字,Bean的名字由该类生成。

user-default-filters

是否使用默认的扫描过滤,component-scan默认情况下扫描@Controller、@Service等注解,如果user-default-filters设置为false将扫描不到这些注解注解的Bean

exclude-filter

context:exclude-filter是子标签,用于指定component-scan不扫描的内容

include-filter

context:include-filter是子标签,用于指定component-scan扫描的内容,当user-default-filters为false时,将只扫描其指定的内容,当为true时,连同默认的内容一起扫描。

一般情况下都是配合user-default-filters=false使用

上一篇 下一篇

猜你喜欢

热点阅读