Назад к вопросам
DNS
Middle+
5
Как в Spring рекомендуется внедрять зависимости?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Spring для внедрения зависимостей (Dependency Injection) рекомендуется использовать:
-
Конструкторное внедрение — предпочтительный способ, особенно для обязательных зависимостей. Позволяет сделать поля
final, улучшает тестируемость и делает зависимости явными. -
Сеттеры или поля с аннотацией
@Autowired— используются для опциональных зависимостей или когда конструкторное внедрение неудобно.
Пример конструкторного внедрения:
@Component
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
// методы
}
Spring автоматически подставит нужный бин UserRepository при создании UserService. Такой подход способствует иммутабельности и облегчает понимание зависимостей класса.