Junior — Middle
Обяснете концепцията за внедряване на зависимости в Spring и как се реализира
sobes.tech AI
Отговор от AI
Внедряването на зависимости (Dependency Injection, DI) в Spring е начин за управление на зависимостите на обектите, при който контейнерът Spring отговаря за създаването и свързването на обектите, а не самият обект създава или търси своите зависимости.
Основните начини за реализиране на DI в Spring:
- Чрез конструктора — зависимостите се предават чрез параметрите на конструктора.
- Чрез сетъри — зависимостите се задават чрез setter методи.
- Чрез полета с анотация @Autowired — Spring автоматично инжектира необходимите бинове.
Пример за инжектиране чрез анотация:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Тук Spring сам ще създаде екземпляр на UserRepository и ще го предаде на конструктора на UserService. Това улеснява смяната на реализации на зависимости, опростява тестването и увеличава модулността на кода.