Spring中的Bean高级进阶(080106)

在Spring中,Bean可以被定义为两种模式:单例模式和非单例模式(singleton or non-singleton)。而Spring默认的是单例模式,何谓单例模式,就是这个Bean只有一个实例存在,而不管有多少个对这个Bean的请求。而非单例模式则回在每次对这个Bean的请求中产生新的实例。简单的说就是:singleton只会被new一次,而non-singleton却在每次请求的时候都new一次。这就是区别。
上面提到,Spring中,Bean默认的模式是单例模式,我们来看看它的代码:
   <?xml version="1.0" encoding="UTF-8"?>  
   <!DOCTYPE beans Public "-//SPRING//DTD BEAN//EN"  
   "http://www.springframework.org/dtd/spring-beans.dtd">  
   <beans>  
   <bean id ="HelloWorld" class="com.jnotnull.HelloWorld">  
     <property name ="message">  
     <value>HelloWorld</value>  
     </property>  
    <bean>  
   </beans>  

当然我们可以显式的配置为singleton模式
   <?xml version="1.0" encoding="UTF-8"?>  
   <!DOCTYPE beans Public "-//SPRING//DTD BEAN//EN"  
   "http://www.springframework.org/dtd/spring-beans.dtd">  
   <beans>  
   <bean id ="HelloWorld" class="com.jnotnull.HelloWorld" singleton="true">  
     <property name ="message">  
     <value>HelloWorld</value>  
     </property>  
    <bean>  
   </beans>  

而要改为non-singleton模式则把singleton属性改为false就行了

你可能感兴趣的:(spring,bean,xml)