Spring Bean Scope Prototype

Spring Bean Scope Prototype

pring Bean Scope Prototype

Posted on: August 30, 2010 at 12:00 AM


In this tutorial you will learn about Spring Bean Scope Prototype
Spring Bean Scope

There are five different types of bean scopes (i.e. singleton, prototype,
request, session, global session) supported by the spring framework. Apart of
these five the Spring?s core scope is singleton and prototype. The singleton
return a single bean instance per spring IoC container and the prototype return
a new bean instance each time when requested. In this example it demonstrate the
concept of prototype.

SimpleBean.java

package spring.bean.scope.singleton;

public class SimpleBean {
        String message;

        public String getMessage() {
                return message;
        }

        public void setMessage(String message) {
                this.message = message;
        }
}

AppMain.java

package spring.bean.scope.prototype;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import spring.bean.scope.prototype.SimpleBean;

class AppMain {
        public static void main(String[] args) {
                ApplicationContext context = new ClassPathXmlApplicationContext(
                                new String[] { "context.xml" });

                SimpleBean bean1 = (SimpleBean) context.getBean("simplebean2");
                bean1.setMessage("Message by bean1");
                System.out.println("Message : " + bean1.getMessage());

                SimpleBean bean2 = (SimpleBean) context.getBean("simplebean2");
                System.out.println("Message : " + bean2.getMessage());
        }
}

context.xml



<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"

  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

 

<!-- prototype -->

<bean id="simplebean2" class="spring.bean.scope.prototype.SimpleBean" scope="prototype"/>

 

</beans>



When you run this application it will display message as shown below:


Message : Message by bean1

Message : null
原文地址:https://www.cnblogs.com/lexus/p/2527850.html