
package com.dineshonjava.sdnext.contextAware.tutorial;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class Triangle implements ApplicationContextAware, BeanNameAware
{
private Point pointA;
private Point pointB;
private Point pointC;
private ApplicationContext context = null;
/**
* @param pointA the pointA to set
*/
public void setPointA(Point pointA) {
this.pointA = pointA;
}
/**
* @param pointB the pointB to set
*/
public void setPointB(Point pointB) {
this.pointB = pointB;
}
/**
* @param pointC the pointC to set
*/
public void setPointC(Point pointC) {
this.pointC = pointC;
}
public void draw()
{
System.out.println("PointA is ("+pointA.getX()+", "+pointA.getY()+")");
System.out.println("PointB is ("+pointB.getX()+", "+pointB.getY()+")");
System.out.println("PointC is ("+pointC.getX()+", "+pointC.getY()+")");
}
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException
{
this.context = context;
}
@Override
public void setBeanName(String beanName)
{
System.out.println("Bean name is: "+beanName);
}
}
Point.javapackage com.dineshonjava.sdnext.contextAware.tutorial;
public class Point
{
private int x;
private int y;
/**
* @return the x
*/
public int getX() {
return x;
}
/**
* @param x the x to set
*/
public void setX(int x) {
this.x = x;
}
/**
* @return the y
*/
public int getY() {
return y;
}
/**
* @param y the y to set
*/
public void setY(int y) {
this.y = y;
}
}
spring.xml<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean autowire="byName" class="com.dineshonjava.sdnext.contextAware.tutorial.Triangle" id="triangle"></bean> <bean class="com.dineshonjava.sdnext.contextAware.tutorial.Point" id="pointA"> <property name="x" value="0"></property> <property name="y" value="0"></property> </bean> <bean class="com.dineshonjava.sdnext.contextAware.tutorial.Point" id="pointB"> <property name="x" value="-20"></property> <property name="y" value="0"></property> </bean> <bean class="com.dineshonjava.sdnext.contextAware.tutorial.Point" id="pointC"> <property name="x" value="20"></property> <property name="y" value="0"></property> </bean> </beans>DrawingApp.java
package com.sdnext.contextAware.tutorial;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author Dinesh Rajput
*
*/
public class DrawingApp
{
/**
* @param args
*/
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
Triangle triangle = (Triangle) context.getBean("triangle");
triangle.draw();
}
}
@override
public void setApplicationContext(ApplicationContext context) throws BeansException
{
this.context = context;
}Labels: Spring3.0