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.java
package 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