Hey guys, It's been a while since I've been around,

I've been actively doing development on enterprise level applications and was busy finishing my degree.

I'm curious as to your thoughts on different IOC frameworks, which you enjoy, and when you warrant the use of them (size of the project, do you use them when you need something to be very de-coupled where you can swap in and out (or request a different implementation at runtime)).

I've been playing with Tapestry-IOC and am loving it a lot, very easy to configure, to get up and running, and it is promoting very good development practices by requiring that most of your controls are written in terms of interfaces.

How does this compare to the Spring framework, or any other IOC you have used? I liked the fact that I did not need any XML configurations to get Tapestry up and running. A few simple annotations and it took care of the rest based on JNDI I believe.

Cheers,
Deliverance