上一题下一题

@Required注解在现代Spring Bean属性校验中的适用边界

基础版
来源:jd中级工程师Spring注解驱动依赖检查Bean属性校验依赖注入必填语义@Required注解
答案解析

参考回答

我会把 @Required 定义为“容器装配阶段的属性配置约束”,而不是通用的 Bean Validation 注解。

它主要适用于传统 JavaBean 的 setter 属性:Spring 容器创建 Bean 时,RequiredAnnotationBeanPostProcessor 会检查标注 @Required 的 setter 对应属性是否已经被 Bean 定义或属性注入配置。没有配置时,通常会在启动阶段抛出 BeanInitializationException。前提是这个对象由 Spring 管理,并且容器中注册了对应的后处理器。

它的适用边界主要有几个:

只针对 setter 对应

登录后查看完整内容