Junior — Middle
Selgitage kontrolli pööramise kontseptsiooni ja selle rakendamist Spring raamistikus
sobes.tech AI
Vastus AI-lt
Inversion of Control (IoC) on põhimõte, mille kohaselt objektide loomise ja sidumise juhtimine antakse välja- või raamistikule, mitte ei tehta seda otse rakenduse koodis. See võimaldab vähendada komponentide sõltuvust ja suurendada paindlikkust.
Springis realiseeritakse IoC konteineri kaudu, mis haldab objektide (binate) elutsüklit ja sõltuvusi. Selle asemel, et käsitsi objekte luua, kirjeldab arendaja sõltuvused ning Spring süstib automaatselt vajalikud komponendid.
Näide sõltuvuse süstimisest annotatsiooni abil:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Siin loob Spring ja edastab UserRepository eksemplari UserService'ile, automaatselt hallates sõltuvusi.