Sobes.tech
Junior — Middle

გაახალისეთ კონტროლის ინვერსია და მისი გამოყენება Spring ჩარჩოში

sobes.tech AI

პასუხი AI-სგან

მართვის გადაბრუნება (Inversion of Control, IoC) — ეს პრინციპია, რომლის მიხედვითაც ობიექტების შექმნისა და დაკავშირების მართვა გადაეცემა გარეგან კონტეინერს ან ჩარჩოს, ხოლო არა პირდაპირ აპლიკაციის კოდში. ეს საშუალებას აძლევს კომპონენტების კავშირი შემცირდეს და მოქნილობა გაიზარდოს.

Spring-ში IoC რეალიზებულია კონტეინერის მეშვეობით, რომელიც მართავს ობიექტების (ბინების) ციკლს და დამოკიდებულებებს. ობიექტების ხელით შექმნის ნაცვლად, დეველოპერი აღწერს დამოკიდებულებებს, ხოლო Spring ავტომატურად ინექცირებს საჭირო კომპონენტებს.

დამოკიდებულების ინექციის მაგალითი:

@Component
public class UserService {
    private final UserRepository userRepository;

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

აქ, Spring ქმნის და გადმოსცემს UserRepository-ის ინстанციას UserService-ს, ავტომატურად მართავს დამოკიდებულებებს.