prototype:
This bean scope just reverses the behavior of singleton scope and produces a new instance each and every time a bean is requested.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="employee"class="spring.bean.scope.prototype.Employee"scope="prototype"/>
</beans>
packagespring.bean.scope.prototype;
public class Employee {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
packagespring.bean.scope.prototype;
importorg.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestSingleton {
public static void main( String[] args ) {
ApplicationContext context = newClassPathXmlApplicationContext(
new String[] {"spring/bean/scope/prototype/Spring-Customer.xml"});
Employee custA = context.getBean("employee", Employee.class);
//retrieve it again
Employee custB = context.getBean("employee", Employee.class);
if(custA == custB) {
System.out.println("both are same instance : prototype");
} else {
System.out.println("both are different instance : prototype");
}
}
}
Output: both are different instance : prototype
No comments:
Post a Comment