<bean class="com.dineshonjava.sdnext.autoWiring.tutorial.Circle" id="circle"> <constructor-arg><ref bean="center"></ref> </constructor-arg></bean> <bean class="com.dineshonjava.sdnext.autoWiring.tutorial.Point" id="center"> <property name="x" value="0"></property> <property name="y" value="0"></property> </bean>
package com.dineshonjava.sdnext.autoWiring.tutorial;
public class Circle
{
private Point center;
/**
* @param center the center to set
*/
public Center(Point center) {
this.center = center;
}
public void draw()
{
System.out.println("Center of circle is ("+center.getX()+", "+center.getY()+")");
}
}
package com.dineshonjava.sdnext.autoWiring.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;
}
}
<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-3.0.xsd">
<bean autowire="constructor" class="com.dineshonjava.sdnext.autoWiring.tutorial.Circle" id="circle">
</bean>
<bean class="com.dineshonjava.sdnext.autoWiring.tutorial.Point" id="center">
<property name="x" value="0"></property>
<property name="y" value="0"></property>
</bean>
</beans>
package com.dineshonjava.sdnext.autoWiring.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");
Circle circle = (Circle) context.getBean("circle");
circle.draw();
}
}Labels: Spring3.0