This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I checked the Table of Contents for "The Well Grounded Java Developer".
Chapter 3 is on Dependency Injection.
Some basic questions:
1. Is the DI in Java similar to what Spring framework offers? Is it a remake?
2. Does Java just provide the Spec for DI and we need some vendor implementation for this spec to utilize DI?
3. How can I make my current Java code to utilize Java DI?
4. Do I necessarily need to use Guice API's to achieve Java DI?
5. Do we have any other implementation available for Java DI other than Guice?
SCEA EE5, CSM, PMP, IBM OOAD with UML, SCDJWS, SCWCD, SCJP 1.5
1) It is a standard inspired by Spring (and more)
2) I believe you need some sort of DI container.
3) Look for things you'd like to decouple. For example, when writing test code, it is common to inject an implementation of an interface.
5) Spring and PicoContainer.
This is a very common pattern is software. Good ideas become design patterns, design patterns are bult into frameworks (like Spring) and then into a language itself (the JSR-330 std for Java). Spring 3.x simply implements the common JSR-330 std + some extras.