<?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 https://www.springframework.org/schema/context/spring-context.xsd">
<!---->
<context:component-scan base-package="com.powernode.spring6.bean"/>
</beans>
<context:component-scan> 是 Spring 框架中的一个配置元素,用于自动扫描指定包(package)及其子包下的类,并自动注册带有特定注解的类为 Spring 容器中的 Bean。这使得开发者无需在 XML 配置文件中显式声明每一个 Bean,简化了配置过程。
在使用<context:component-scan> 时,通常需要指定 base-package 属性,它指定了自动扫描的包路径。Spring 会扫描这些包及其子包下的所有类,并查找带有 @Component、@Service、@Repository 和 @Controller 等注解的类。这些注解分别用于标识一般的组件、服务层组件、数据访问层组件和控制器层组件。
一旦找到带有这些注解的类,Spring 会自动将它们注册为容器中的 Bean,这样你就可以在其他地方通过自动装配(如 @Autowired)来使用这些 Bean。
除了 base-package 属性外,context:component-scan 还有其他一些属性可以配置,如 use-default-filters、include-filter 和 exclude-filter,用于控制扫描的过滤逻辑。
此外,如果配置了 context:component-scan,那么通常就不需要再配置 context:annotation-config/,因为 context:component-scan 已经包含了后者的功能,用于激活对注解的支持。
总的来说,context:component-scan 是 Spring 框架中一个非常有用的配置元素,它简化了 Bean 的声明和配置过程,提高了开发效率。
标签:scan,标签,component,Bean,context,Spring,注解 From: https://www.cnblogs.com/DuWenjie/p/18226537