Project Structure :- (Three packages)
com.nt.beans
   => Engine.java
   => Vehicle.java
com.nt. cfgs
   => applicationContext.xml
com.nt.client
  => ClientTest.java
Engine.java
package com.nt.beans;
public class Engine
{
 public Engine() {
  System.out.println("Engine ::0-param constructor");
 }
 public void start()
 {
  System.out.println("Engine started....");
 }
 
 public void stop()
 {
  System.out.println("Engine stopped....");
 }
}
 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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean id="engg" class="com.nt.beans.Engine"/>
<bean id="vehicle" class="com.nt.beans.Vehicle"/>
</beans>
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....
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean id="engg" class="com.nt.beans.Engine"/>
<bean id="vehicle" class="com.nt.beans.Vehicle"/>
</beans>
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