public class MyWeb

{

   Dao myDao=null;

   public MyWeb(Dao d)

   {

       myDao=d;

   }

}


- Self configuration of dependencies

{A{B{C}}}


DI contianer is going to create an object which contain all ABC dependency

DI Container:

   -- create c

   -- create B {C}

   -- create A {B{C}}


Dependency injection involves at least three elements:

  • a dependent consumer,

  • a declaration of a component's dependencies, defined asinterface contracts,

  • an injector (sometimes referred to as a provider or container) that creates instances of classes that implement a given dependency interface on request.

------------------------------------------

EXAMPLE:

constructor injection.


publicinterface IOnlineBrokerageService {String[] getStockSymbols();double getAskingPrice(String stockSymbol);double getOfferPrice(String stockSymbol);void putBuyOrder(String stockSymbol, int shares, double bidPrice);void putSellOrder(String stockSymbol, int shares, double offerPrice);}publicinterface IStockAnalysisService {double getEstimatedValue(String stockSymbol);}publicinterface IAutomatedStockTrader {void executeTrades();}