Sobes.tech
Junior — Middle

Izskaidrojiet atkarības injekcijas koncepciju Spring un kā tā tiek īstenota

sobes.tech AI

Atbilde no AI

Atkarības injekcija (Dependency Injection, DI) Spring ir veids, kā pārvaldīt objektu atkarības, kur Spring konteiners ir atbildīgs par objektu izveidi un sasaisti, nevis pats objekts izveido vai meklē savas atkarības.

Galvenie DI īstenošanas veidi Spring:

  1. Caur konstruktoru — atkarības tiek nodotas caur konstruktoru parametriem.
  2. Caur setteriem — atkarības tiek iestatītas caur setter metodēm.
  3. Caur laukiem ar @Autowired anotāciju — Spring automātiski injicē nepieciešamos beanus.

Piemērs ar anotāciju:

@Component
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}

Šeit Spring pats izveidos UserRepository instanci un nodos to UserService konstruktoram. Tas atvieglo atkarību maiņu, vienkāršo testēšanu un palielina koda modulatitāti.