@Required注解在现代Spring Bean属性校验中的适用边界
基础版来源:jd中级工程师Spring注解驱动依赖检查Bean属性校验依赖注入必填语义@Required注解
答案解析
参考回答
我会把 @Required 定义为“容器装配阶段的属性配置约束”,而不是通用的 Bean Validation 注解。
它主要适用于传统 JavaBean 的 setter 属性:Spring 容器创建 Bean 时,RequiredAnnotationBeanPostProcessor 会检查标注 @Required 的 setter 对应属性是否已经被 Bean 定义或属性注入配置。没有配置时,通常会在启动阶段抛出 BeanInitializationException。前提是这个对象由 Spring 管理,并且容器中注册了对应的后处理器。
它的适用边界主要有几个:
只针对 setter 对应
登录后查看完整内容
