@Autowired
аннотаций используется, когда вы хотите для автопостановки компонента. @Autowired
не ограничивается установщиком. Он также может использоваться с конструктором и полем. Если вы используете аннотацию @Autowired
в поле, это поле будет автообновлено с bean, имеющим соответствующий тип данных.
@Required
проверяет, установлено ли определенное свойство или нет. Если поле аннотируется аннотацией @Required
и это поле не установлено, вы получите org.springframework.beans.factory.BeanInitializationException
.
См:
Spring @Autowired usage
Recommended usage of Spring's @Required annotation
Edit: Как указано на 'Kryger': поле с аннотацией @Autowired
эффективно также @Required
(если явно не установлено требуется его параметр ложь). например:
@Autowired(required=false)
private ObjectType objectType;
Для поля, которое было аннотированным @Autowired
, если фасоль с совпадающим типом данных в не доступен, org.springframework.beans.factory.BeanCreationException
отбрасывается.
Возможно, стоит добавить, что поле, аннотированное с помощью '@ Autowired', эффективно также' @ Required' (если вы явно не установили его параметр 'required' в false) – kryger
@kryger Спасибо, что указали это. Я отредактировал свой ответ. –
Требуется ли для выполнения во время конфигурации потребность в @Required need? – user2171669