为什么我设置了prototype 测试的结果还是singleton?

来源:3-1 Spring Bean装配之Bean的配置项及作用域

qq_风逝叶落_0

2019-04-12 22:33

Java代码:

ApplicationContext context;

public OneInterfaceImplTest() {

context = new ClassPathXmlApplicationContext("spring-ioc.xml");

}

@Test

public void test() {

OneInterface oneInterface1 = (OneInterface) context.getBean("oneInterface");

System.out.println(oneInterface1.hello2("123"));

// ApplicationContext context1 = new ClassPathXmlApplicationContext("spring-ioc2.xml");

OneInterface oneInterface2 = (OneInterface) context.getBean("oneInterface");

System.out.println(oneInterface2.hello2("123"));

}

配置项:<bean class="daoImpl.InjectionDAOImpl" id="InjectionDAO" scope="prototype"></bean>


impl方法:

@Override

public String hello2(String string) {

// TODO Auto-generated method stub

return "" +  this.hashCode();

}


写回答 关注

1回答

  • 旅行的癞蛤蟆
    2019-04-13 04:19:27

    直接打印两个对象的地址值,看看相不相同。每次getBean都相当于new一次

Spring入门篇

为您带来IOC和AOP的基本概念及用法,为后续高级课程学习打下基础

268786 学习 · 963 问题

查看课程

相似问题