У меня есть контроллер, который определяется следующим образом:
@RestController
public class DemoController {
@Autowired
PrototypeBean proto;
@Autowired
SingletonBean single;
@GetMapping("/test")
public String test() {
System.out.println(proto.hashCode() + " "+ single.hashCode());
System.out.println(proto.getCounter());
return "Hello World";
}
}
И я определил bean-прототип, как показано ниже:
@Component
@Scope(value= ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class PrototypeBean {
static int i = 0;
public int getCounter() {
return ++i;
}
}
Каждый раз, когда я нажимаю http://localhost:8080/test
Я получаю один и тот же экземпляр, и счетчик увеличивается каждый раз.
Как мне убедиться, что я получаю новый экземпляр каждый раз?
Также я хочу знать, почему я не получаю новый экземпляр, хотя я объявил область действия компонента как Prototype.