<?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.xsd"> <context:component-scan base-package="org.example"/> </beans>
@Configuration @ComponentScan(basePackages = "org.example") public class AppConfig { ... }
The use of <context:component-scan> implicitly enables the functionality of <context:annotation-config>. There is usually no need to include the <context:annotation-config> element when using <context:component-scan>.
当在组件类上使用了特定的注解之后, 还需要在 Spring 的配置文件中声明 <context:component-scan> : base-package 属性指定一个需要扫描的基类包,Spring 容器将会扫描这个基类包里及其子包中的所有类. 当需要扫描多个包时, 可以使用逗号分隔. 如果仅希望扫描特定的类而非基包下的所有类,可使用 resource-pattern 属性过滤特定的类,示例: <context:include-filter> 子节点表示要包含的目标类 <context:exclude-filter> 子节点表示要排除在外的目标类 <context:component-scan> 下可以拥有若干个 <context:include-filter> 和 <context:exclude-filter> 子节点 You can also disable the default filters by settinguseDefaultFilters=false
on the annotation or providinguse-default-filters="false"
as an attribute of the<component-scan/>
element. This will in effect disable automatic detection of classes annotated with@Component
,@Repository
,@Service
,@Controller
, or@Configuration
.
原文地址:https://www.cnblogs.com/mengjianzhou/p/9131554.html
时间: 2024-10-06 13:07:42