在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  C/ springmvc中controller注入了service后為什么還是線程安全

springmvc中controller注入了service后為什么還是線程安全的?

都說(shuō)springmvc是線程安全的。我知道無(wú)狀態(tài)的對(duì)象一定是線程安全的。但是Controller中注入了Service后,不就變成了有狀態(tài)的對(duì)象了,那它還是線程安全的嗎?

//無(wú)狀態(tài)
public class UserController {
    
}

//有狀態(tài)
public class UserController {

    int a;
    
}

//?????
public class UserController {

    @AutoWired
    private UserService userService;
    
}

希望懂的人給小弟解惑。謝謝!
補(bǔ)充:我知道ThreadLocal和單例多例(scope=prototype)的相關(guān)知識(shí),只想知道上面我描述的有狀態(tài)和無(wú)狀態(tài)的情況。

回答
編輯回答
荒城

@Controller 默認(rèn)實(shí)現(xiàn)的單例模式

2018年7月14日 04:36
編輯回答
涼心人

你沒搞清楚線程安全是什么意思。userService本身并不是線程安全的,你在userController里修改userService嗎?只是調(diào)用userService里的方法吧?方法都是線程安全的,多線程調(diào)用一個(gè)實(shí)例的方法,會(huì)在內(nèi)存中復(fù)制變量,所以只要你不在userConstroller里修改userService這個(gè)實(shí)例就沒問(wèn)題。

2017年11月10日 11:04
編輯回答
心沉

你自己注入的service,需要你自己保證線程安全,spring沒法幫你做這件事

2018年1月22日 17:24
編輯回答
雨萌萌

注入的bean本身就是單例的呢

2018年7月13日 08:04