IOC - это механизм, с помощью которого bean-компонентам, управляемым пружиной, «даются» ссылки на реализации классов, которые ему необходимы. Spring, управляет всеми зарегистрированными bean-компонентами в вашей конфигурации и настраивает каждый bean-компонент с помощью аннотаций типа @Autowired
или явно через конфигурацию xml.
Несмотря на то, что IOC интенсивно используется для реализации реализаций упомянутых вами вещей, его можно использовать для создания экземпляров и настройки любого класса, даже вашего собственного.