码迷,mamicode.com
首页 > 编程语言 > 详细

【sping揭秘】3、Spring容器中bean默认是保持一个实例

时间:2018-03-18 22:27:55      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:案例   bean   tsp   blog   二次   private   imp   one   print   

Spring容器中bean默认是保持一个实例

 

这里做一个测试,基础代码

 

package cn.cutter.start.provider;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;

@Component(value="FXNewsProvider")
public class FXNewsProvider {
    //做个变量用来监控2个对象bean之间的值是否一致,来确认是否是一个对象
    private int testSpring;
    
    public FXNewsProvider() {
        System.out.println("hello IOC");
        ++testSpring;
    } 
    
    
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("配置文件路径");
        FXNewsProvider fxNewsProvider = (FXNewsProvider) ctx.getBean("fXNewsProvider");
    }


    public int getTestSpring() {
        return testSpring;
    }


    public void setTestSpring(int testSpring) {
        this.testSpring = testSpring;
    }
    
    
}

 

测试案例:

 

@Test
    public void test2() {
        
        //测试spring的IOC容器中,默认是保持在IOC容器中只有一个实例
        ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:application-bean.xml");
        FXNewsProvider fxNewsProvider = (FXNewsProvider) ctx.getBean("FXNewsProvider");
        
        System.out.println("第一次获取值:" + fxNewsProvider.getTestSpring());
        
        FXNewsProvider fxNewsProvider2 = (FXNewsProvider) ctx.getBean("FXNewsProvider");
        System.out.println("第二次获取值:" + fxNewsProvider2.getTestSpring());
        
        fxNewsProvider2.setTestSpring(998);
        
        if(fxNewsProvider2 == fxNewsProvider) {
            System.out.println("两次对象一样,值为:" + fxNewsProvider.getTestSpring());
        } else {
            System.out.println(fxNewsProvider.getTestSpring());
            System.out.println(fxNewsProvider2.getTestSpring());
        }
        
    }

最后我们看一下测试结果

 

果然如书中所料。。。

 

技术分享图片

 

【sping揭秘】3、Spring容器中bean默认是保持一个实例

标签:案例   bean   tsp   blog   二次   private   imp   one   print   

原文地址:https://www.cnblogs.com/cutter-point/p/8597702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!