Ted & Don are arguing the point of JavaContainersNG (Spring, Pico, HiveMind etc).
I'm a little surprised – the main point of them all is a very Microsoftish concept – reduce the amount code you have to write.
At TechEd this year (in the few product sessions I went to) it was all about “.NET 2.0 will reduce the number of lines of code you write by 1000%” (or whatever). That's what Spring etc do – no more worrying about wiring code, and just concentrate on your business logic.
Yes, they have other features, too, and yes, they can let you run your code outside EJBs, and yes it is cool that you can test you logic easier, and yes the AOP stuff can be very useful, but the main point is you don't need to write all that stupid wiring code that pollutes most programs.
Don's right to be puzzled why Spring is easier than EJB – you still need stupid XML configuration files, and it doesn't magically make EJBs as easy as .NET development. BUT – and I suspect this is what you miss unless you've actually suffered through EJBs – Spring is easier than using POEJBs (Plain-Old EJBs) because is hides 90% of the things you don't need to worry about.
Don's right about ORM mappers, too, and I don't think any Java person would disagree. There are 3 current JCPs for ORM, not counting the SDO (Service Data Object) one, and that also exclude Hibernate, Apache OBJ and iBatis, which all have pretty reasonable mind/marketshare. That's just so stupid – but the competition makes it interesting.