3.10 ClassPath扫描和管理组件
本章中的大多数示例使用XML来指定在Spring容器中生成每个BeanDefinition的配置元数据。上一节(第3.9节“基于注解的容器配置”)演示了如何通过源代码注解提供大量的配置元数据。然而,即使在这些示例中,注解也仅仅用于驱动依赖注入,"base"bean依然是明确的在XML文件中定义。本节介绍通过扫描类路径隐式检测候选组件的选项。候选者组件是class类,这些类经过过滤匹配,由Spring容器注册注册的bean定义,成为Spring bean。这消除了使用XML执行bean注册的需要(也就是没有XML什么事儿了);而是可以使用注解(例如@Component
),AspectJ类型表达式或你自己的自定义过滤条件来选择哪些类将在容器中注册bean定义。
从Spring 3.0开始,Spring JavaConfig项目提供的许多功能都是Spring Framework核心的一部分。 这允许你使用Java而不是使用传统的XML文件来定义bean。 可以看看@Configuration ,@Bean ,@Import 和@DependsOn 注解,以了解如何使用这些新特性的例子。 |