对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
基于注解的容器配置
XML 设置的替代方案由基于 annotation 的配置提供,它依赖于
在字节码元数据上,用于连接组件而不是 XML 声明。而不是
使用 XML 来描述 Bean 连接,开发人员将配置移动到
组件类本身,方法是在相关类、方法或字段上使用注释
声明。如示例中所述:AutowiredAnnotationBeanPostProcessor
,将 a 与注解结合使用是扩展
Spring IoC 容器。例如,@Autowired
注解提供的功能与 自动装配协作者 中描述的相同,但
具有更精细的控制和更广泛的适用性。此外,Spring 还提供
支持 JSR-250 注释,例如 和 ,以及
支持包中包含的 JSR-330(Java 依赖注入)注释,例如 和 。有关这些注释的详细信息
可以在相关部分找到。BeanPostProcessor
@PostConstruct
@PreDestroy
jakarta.inject
@Inject
@Named
注释注入在 XML 注入之前执行。因此,XML 配置 覆盖通过这两种方法连接的属性的注释。 |
与往常一样,您可以将后处理器注册为单独的 bean 定义,但是它们
也可以通过在基于 XML 的 Spring 中包含以下标记来隐式注册
configuration(注意包含命名空间):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/>
|