|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
基于注解的容器配置
除了基于 XML 的配置之外,还提供了基于注解的配置方式,它依赖字节码元数据来装配组件,而不是使用 XML 声明。开发者不再使用 XML 来描述 bean 的装配,而是通过在相关的类、方法或字段声明上使用注解,将配置直接移入组件类本身。正如在 示例:AutowiredAnnotationBeanPostProcessor 中所述,将 BeanPostProcessor 与注解结合使用是扩展 Spring IoC 容器的常见方式。例如,@Autowired
注解提供了与 自动装配协作者 中描述相同的功能,但具有更细粒度的控制和更广泛的适用性。此外,Spring 还提供了对 JSR-250 注解的支持,例如 @PostConstruct 和 @PreDestroy,同时也支持包含在 jakarta.inject 包中的 JSR-330(Java 依赖注入)注解,如 @Inject 和 @Named。有关这些注解的详细信息
可以在 相关部分 中找到。
|
注解注入在 XML 注入之前执行。因此,对于通过这两种方式注入的属性,XML 配置会覆盖注解配置。 |
与往常一样,你可以将这些后处理器注册为单独的 bean 定义,但也可以通过在基于 XML 的 Spring 配置中包含以下标签来隐式注册它们(注意引入了 context 命名空间):
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
<context:annotation-config/> 元素会隐式注册以下后处理器:
|
|