id
s matching that bean definition will result in that one specific bean instance being returned by the Spring container.package com.dineshonjava.sdnext.beanscope.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:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p" xmlns:security="http://www.springframework.org/schema/security" xmlns:tx="http://www.springframework.org/schema/tx" 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 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean class="com.dineshonjava.sdnext.beanscope.tutorial.Point" id="zeroPoint" scope="singleton"> <property name="x" value="0"></property> <property name="y" value="0"></property> </bean> </beans>
package com.dineshonjava.sdnext.beanscope.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"); Point point1 = (Point) context.getBean("zeroPoint"); Point point2 = (Point) context.getBean("zeroPoint"); if(point1 == point2) System.out.println("In Singleton Demo >> Both are same objects values are.." + "\n 1. point1= "+point1+" \n 2. point2= "+point2); else System.out.println("In Protptype Demo >> Both are different objects values are.." + "\n 1. point1= "+point1+" \n 2. point2= "+point2); } }
<beans xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:security="http://www.springframework.org/schema/security" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemalocation="http://www.springframework.org/schema/beans"> <context:component-scan base-package="com.dineshonjava.sdnext.beanscope.tutorial"> </context:component-scan></beans>
package com.dineshonjava.sdnext.beanscope.tutorial; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; @Service @Scope("singleton") 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; } }
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.dineshonjava.sdnext.beanscope.tutorial.Point; /** * @author Dinesh Rajput * */ public class DrawingApp { /** * @param args */ public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); Point point1 = (Point) context.getBean("point"); Point point2 = (Point) context.getBean("point"); if(point1 == point2) System.out.println("In Singleton Demo >> Both are same objects values are.." + "\n 1. point1= "+point1+" \n 2. point2= "+point2); else System.out.println("In Protptype Demo >> Both are different objects values are.." + "\n 1. point1= "+point1+" \n 2. point2= "+point2); } }
Labels: Spring3.0