Lets see with example which show the singleton scope of the ‘zeroPoint’ bean in the spring container.
Point.java
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;
}
}
spring.xml
<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>
DrawingApp.java
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);
}
}
In Singleton Demo >> Both are same objects values are..
1. point1= com.dineshonjava.sdnext.beanscope.tutorial.Point@1198891
2. point2= com.dineshonjava.sdnext.beanscope.tutorial.Point@1198891
spring.xml
<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>
base-package = “com.dineshonjava.sdnext.beanscope.tutorial”
Ponit.java
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;
}
}
Annotation @Service:
@Scope(“singleton”)
@Scope(“prototype”)
DrawingApp.java
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);
}
}
In Singleton Demo >> Both are same objects values are..
1. point1= com.dineshonjava.sdnext.beanscope.tutorial.Point@84da23
2. point2= com.dineshonjava.sdnext.beanscope.tutorial.Point@84da23
- Spring Interview Questions and Answers
- Spring AOP Interview Questions and Answers
- Spring MVC Interview Questions
- Spring Security Interview Questions and Answers
- Spring REST Interview Questions and Answers
- Spring Boot Interview Questions and Answers
- Spring Boot Microservices Interview Questions and Answers
- Dependency Injection (DI) in Spring
- Spring IoC Container
- What is Bean Factory in Spring
- ApplicationContext in Spring
- Bean Autowiring in Spring
- Spring Bean Scopes
- Create Custom Bean Scope in Spring Example
- Using ApplicationContextAware in Spring
- Spring Bean Life Cycle and Callbacks
- BeanPostProcessor in Spring
- BeanFactoryPostProcessor in Spring
- Annotations in Spring and Based Configuration
- Spring JSR-250 Annotations
- JSR 330 Annotations in Spring
- Spring @Component, @Repository, @Service and @Controller Stereotype Annotations
- Method injection with Spring using Lookup method property
- Spring AOP-Introduction to Aspect Oriented Programming
- @Aspect Annotation in Spring
- Spring AOP AspectJ @Before Annotation Advice Example
- Spring AOP Before Advice Example using XML Config
- Spring AOP AspectJ @After Annotation Advice Example
- Spring AOP After Advice Example using XML Config
- Spring AOP AspectJ @AfterReturning Annotation Advice Example
- Spring AOP After-Returning Advice Example using XML Config
- Spring AOP AspectJ @AfterThrowing Annotation Advice Example
- Spring AOP After Throwing Advice Example using XML Config
- Spring AOP AspectJ @Around Annotation Advice Example
- Spring AOP Around Advice Example using XML Config
- Spring AOP Proxies in Spring
- Spring AOP Transaction Management in Hibernate
- Spring Transaction Management
- Spring Declarative Transaction Management Example
- Spring AOP-Ordering of Aspects with Example
- Spring Security Java Based Configuration with Example
- Spring Security XML Namespace Configuration Example




