java - 带有@Controller 注释的类是单个对象吗?
问题描述
我知道两个具有相同内容的请求使用不同的线程。而且我认为不同的线程会使用@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
(默认)将单个 bean 定义限定为每个 Spring IoC 容器的单个对象实例。
推荐阅读
- bash - 使用 expr 获取字符串长度的语法错误
- r - system.file() 运行良好,但 base::system.file() 不行
- javascript - 使用 javascript,我如何将 JSON 对象与 PHP 返回的 arr 分开
- knockout.js - 在淘汰视图模型中绑定日期时间
- ios - urlsession,您将如何获得多个文件下载的整体进度
- python - 通过正则表达式查找符号之间的值,其中符号可能是值的一部分
- microcontroller - 处理器架构寄存器与 MCU 寄存器
- c# - WPF按钮单击导致页面
- r - 按相似名称重新组织 Dataframe 列
- c - C - `0` 特殊字符使用 malloc 出现