我知道两个具有相同内容的请求使用不同的线程。而且我认为不同的线程会创建带有@Controller 注释的不同实例。但是当我运行下面的代码时,我发现我的想法是错误的。
测试代码:
@Controller
@RequestMapping("test")
public class TestADEDSAController {
private String string = "";
@RequestMapping("controllerTest")
@ResponseBody()
public String controllerTest(@RequestParam String string) {
return this.string += string;
}
}
第一次响应内容是这样的:
test
第二次是这样的:
testtest
JVM中好像只有一个Test实例。
我想知道JVM中是否总是只有一个@Controller实例?还有,哪里可以找到关于这个过程的详细介绍?
最佳答案
默认情况下,Spring 中的所有 bean 都创建为 singleton
(每个 IOC 容器一个)。
这是 javadoc
(Default) Scopes a single bean definition to a single object instance per Spring IoC container.
关于java - 带有@Controller 注解的类是一个单独的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51537614/