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