Hello,
Yes it covers both Spring and Guice. DI as a design
pattern is usable in most object oriented languages, though the only ones where it's in common use and with popular libraries are
Java and C#. Ruby has a few but they never really took off there.
DI is useful in any non-trivial application in reducing boilerplate code and helping in a variety of ways, including making your code more testable and tolerant to change.
Guice is one framework that is evolving and innovating quite fast, I suggest you check out some of its features:
http://code.google.com/p/google-guice
There are also efforts to add DI as a standard library to the Java platform (JSR-330).
Dhanji.