Jim Weirich has an excellent presentation that will make Java developers think differently about dependency injection.