Originally posted by Karthik Guru:
Not sure about a formal definition. I guess martin fowler was the one who coined the word?
Nope. Martin Fowler just renamed it to "dependency injection"
Originally posted by Karthik Guru:
A IOC container does object lifecycle management and resolves dependencies between objects it manages.
I'll try to summarize IoC in layman's terms...
Your application consists of a number of components, each needing the services of 0..n other components. For each of these components, you enumerate what services they need in a configuration file, and the container (BeanFactory in Spring-talk) will find those required services from the other components and say "Alright, so you wanted an EmailSender, you can use this one over here. I see you also needed a SessionFactory, it just so happens that I've got one for you. Ah, and you also need a DataSource for some odd reason so here's one for you."