Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Аннотации Springа

#spring #java


Подскажите пожалуйста, в чем разница между @Autowired, @Required и @Resource.
    


Ответы

Ответ 1



@Required отмечает свойства бина, которые обязательно должны быть установлены. @Autowired используется для автоматического внедрения зависимости. Вы отмечаете им некое свойство в бине и Spring сам создаст экземпляр класса, подходящего для этого свойства. @Resource, в отличие от @Autowired, позволяет передать в качестве зависимости конкретный бин по его имени. Все достаточно неплохо описано в документации. Пример. class Foo { private Bar bar; public void setBar(Bar bar) { this.bar = bar; } } Если вы хотите, чтобы Spring сам нашел подходящий класс и передал его экземпляр в setBar() проставьте перед методом аннотацию @Autowired. Если вы хотите передать конкретный бин, в качестве параметра setBar(), воспользуйтесь аннотацией @Resource(name="myBarBean"). Если свойство foo обязательно должно заполняться, добавьте аннотацию @Required.

Комментариев нет:

Отправить комментарий