Aware Injection | Interface Injection
Engine.java
        Vehicle.java
package com.nt.beans; 
import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public class Vehicle implements ApplicationContextAware { private ApplicationContext ctx=null; public Vehicle() { System.out.println("Vehicle ::0-param constructor"); } public void setApplicationContext(ApplicationContext ctx) throws BeansException { System.out.println("Vehicle.setApplicationContext()"); this.ctx=ctx; } public void journey(String source, String destination) { Engine engine=null; System.out.println("Vehicle.journey(-,-)"); engine=ctx.getBean("engg",Engine.class); engine.start(); System.out.println("Journey is going on from "+source+" to "+destination); engine.stop(); } }  | 
        applicationContext.xml
        ClientTest.java
package com.nt.client;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.nt.beans.Vehicle;
public class ClientTest
{
    public static void main(String[] args) 
    {
         ApplicationContext ctx=null;
         ctx=new ClassPathXmlApplicationContext("com/nt/cfgs/applicationContext.xml");
         Vehicle v= ctx.getBean("vehicle",Vehicle.class);
         v.journey("Hyderabad", "Banglore");
         ((AbstractApplicationContext) ctx).close();
    }
} 
 | 
  Output :- 
Engine ::0-param constructor
Vehicle ::0-param constructor
Vehicle.setApplicationContext()
Vehicle.journey(-,-)
Engine started....
Journey is going on from Hyderabad to Banglore
Engine stopped.... 
 | 
Post a Comment