Tolong jelaskan mengenai Inversion Of Control (IOC) dari Spring Framework

Inversion of Control (IOC) yang kemudian banyak disebut oleh developer sebagai Dependency Injection. Fitur ini banyak digunakan untuk membantu pembuatan container pada saat membendung objek yang saling memiliki ketergantungan terhadap objek lain pada saat sedang bertransaksi. Jenisnya dapat berupa layer yang berfungsi untuk menampung beberapa objek pada saat akan digunakan. Pembuatannya berbasis singleton di mana pembuatan objek cukup dilakukan satu kali dan akan selalu diingat pada penyimpanan selama aplikasi dijalankan. Jenis objek yang dapat disimpan pada jenis ini adalah SessionManager. Hal tersebut akan membuat penyimpanan saling terkoneksi dengan database. Session Manager memiliki berbagai jenis fungsi yang sangat bermanfaat bagi developer. Salah satunya adalah dapat digunakan untuk melakukan auto wire data injeksi ke suatu objek yang dapat melakukan transaksi dalam suatu database. Hal tersebut sangat bermanfaat pada pengembangan suatu aplikasi karena dapat memudahkan dalam jalan membuat aplikasi.