为了账号安全,请及时绑定邮箱和手机立即绑定

4.1节当中我将Scope改成了prototype,为啥返回的还是同一对象?

package com.imooc.test.beanannotation;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;

import com.imooc.beanannotation.BeanAnnotation;
import com.imooc.test.base.UnitTestBase;

@RunWith(BlockJUnit4ClassRunner.class)
public class TestBeanAnnotation extends UnitTestBase {
	
	public TestBeanAnnotation() {
		super("classpath*:spring-beanannotation.xml");
	}
	
	
	@Test
	public void testScpoe() {
		BeanAnnotation bean = super.getBean("beanAnnotation");
		bean.myHashCode();
		
		bean = super.getBean("beanAnnotation");
		bean.myHashCode();
	}
	
}
package com.imooc.beanannotation;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

//@Component("bean")
@Scope("prototype")
@Component
public class BeanAnnotation {
	public void myHashCode() {
		System.out.println("BeanAnnotation : " + this.hashCode());
	}
	
}

两个bean输出的hashcode是一样的

BeanAnnotation : 2039473569
BeanAnnotation : 2039473569

正在回答

1 回答

应该是对一个store子类@scope(value)吧

0 回复 有任何疑惑可以回复我~
#1

星辰Iron 提问者

已经解决了,我把程序关闭重新启动一下就可以了,估计是缓存的问题。
2017-09-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

4.1节当中我将Scope改成了prototype,为啥返回的还是同一对象?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信