2017-03-11 27 views
0

嘗試了一些東西 - 創建了一個簡單的Spring mvc應用程序,我有一個控制器類。我在春季的文檔中看到,控制器類是單調的,並創建了一個單一的實例,但當我嘗試時,情況並非如此。爲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你好,我得到「OK」字樣,即使我改變它的測試方法, 我這麼想嗎?

回答

0

你沒有改變它。您正在創建一個新的控制器,並更改該新控制器的字段。

通過

ok = "changed."; 

更換

new TestController().ok="changed."; 

(並使ok變量波動,否則仍有機會,另一個線程看到舊值,雖然這是不可能的)。

+0

讓我的一天,thnx。 – parameswar

+0

hasone。更多的疑問可以看看http://stackoverflow.com/questions/42725862/ – parameswar

相關問題