尝试了一些东西 - Crated一个简单的Spring mvc应用程序,我有一个控制器类。我在春季文档中读到,控制器类是单调的,并且创建了一个实例,但是当我尝试时,情况并非如此。
@Controller
public class TestController {
String message = "Welcome to your 1st Maven Spring project !";
@Autowired
private Person person;
String ok="ok";
@RequestMapping("/hello")
public String test() throws InterruptedException {
System.out.println("word s "+ok);
System.out.println("from controller");
System.out.println(person.getName());
new TestController().ok="changed.";
这里我从不同的浏览器访问了你好的url,我得到了#34; ok"打印,即使我在测试方法中更改它, 我错过了什么吗?
答案 0 :(得分:0)
你没有改变它。您正在创建新控制器,并更改该新控制器的字段。
替换
new TestController().ok="changed.";
通过
ok = "changed.";
(并使ok
变量变为volatile,否则另一个线程仍有可能看到旧值,尽管这不太可能。)