Spring @Autowired和@Required引发异常

Spring @Autowired和@Required引发异常,spring,Spring,我了解到,如果容器找不到用于依赖项注入的bean,@Required注释会引发此异常: org.springframework.beans.factory.BeanInitializationException 对于@Autowired,例外情况是:org.springframework.beans.factory.BeanCreationException 考虑到这些情况: 我在bean a中使用@Required注入另一个不存在的bean B,然后启动应用程序。 我在bean a中使用@Au

我了解到,如果容器找不到用于依赖项注入的bean,@Required注释会引发此异常:
org.springframework.beans.factory.BeanInitializationException

对于@Autowired,例外情况是:
org.springframework.beans.factory.BeanCreationException

考虑到这些情况: 我在bean a中使用@Required注入另一个不存在的bean B,然后启动应用程序。 我在bean a中使用@Autowired注入另一个不存在的bean B,然后启动应用程序


我想知道@Required和@Autowired的异常何时抛出?是同一时间吗?加载spring应用程序上下文时?

spring正在使用
Required AnnotationBeanPostProcessor
通过
AutowiredNotationBeanPostProcessor
处理注释。根据源代码和,分别订购这两个后处理器。
@Autowired
的顺序为
Integer.MAX\u值-2
,而
@Required
的顺序为
Integer.MAX\u值-1
。根据,值越低优先级越高

基于此,我相信
@Autowired
bean后处理器将在
@Required
之前运行。因此,为了回答您的问题,当创建spring应用程序上下文时,
@Autowired
的可能异常将在
@Required
的异常之前抛出