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