Contextualized Dependency Lookup in Spring
by , 11-16-2011 at 12:16 PM (1504 Views)
At its core, Inversion of Control (IoC), and therefore Dependency Injection (DI) offers a mechanism for provisioning component dependencies and managing these dependencies throughout their lifecycles. A component that requires certain dependencies is often referred to as the dependent object or, in the case of IoC, the target. Generally, IoC can be broken down into two subtypes: Dependency Injection and Dependency Lookup. With Dependency Lookup IoC, a component must obtain a reference to a dependency. This differs from Dependency Injection where dependencies are injected into the component of the IoC container. The are two types of Dependency Lookup. In this tip, we will focus on Contextualized Dependency Lookup (CDL). CDL is similar, in some respects, to Dependency Pull, but in CDL, lookup is performed against the container that is managing the resource, not from a central registry, and it is usually performed at some set point. CDL works by having the component implement an interface similar to the one shown below:
The component implements this interface is then implemented and thus indicates to the container that it wishes to obtain a dependency. When the container is ready to pass dependencies to a component, it calls performLookup() on each component. The component can then look up its dependencies using the BeanFactory interface.Java Code:import org.springframework.beans.factory.BeanFactory; public interface ManagedComponent { public void performLookup(BeanFactory container); }
Java Code:import org.springframework.beans.factory.BeanFactory; import com.acme.springexamples.service.CarService; public class ContextualizedDependencyLookup implements ManagedComponent { private CarService service; @Override public void performLookup(BeanFactory container) { this.service = (CarService) container.getBean("car_service"); } }









Email Blog Entry
License4J 4.0
Today, 12:23 AM in Java Software