Spring相關(guān)

Spring中為什么實(shí)體類不用注入(參考User,UserService)

要理解為什么不用注入,首先就清楚注入的目的是什么?如果不注入,在程序中要使用某個(gè)類對(duì)象的方法,則需要去new一個(gè)對(duì)象。然后我們調(diào)用其中的方法,眾所周知“程序=算法+數(shù)據(jù)”。不失一般性,在面向?qū)ο箝_發(fā)中,類一般有兩種,一種是功能類的,主要是完成一些業(yè)務(wù)操作。一種是數(shù)據(jù)類,主要是存儲(chǔ)數(shù)據(jù),比如POJO。我們數(shù)據(jù)提交上來后,自己組裝PO(當(dāng)然也有的框架可以幫我們組裝好),然后調(diào)用功能類的方法去操作這些數(shù)據(jù),完成相應(yīng)功能。如果沒有使用注入的方式注入這些功能類對(duì)象,則會(huì)有空指針的問題。

UserService是個(gè)工具類,你需要獲取(也就是new)他的對(duì)象實(shí)例才能調(diào)用類內(nèi)部的方法。
而User只是個(gè)POJO,是個(gè)存放數(shù)據(jù)的載體,并不需要獲取(也就是new)他的對(duì)象實(shí)例,而是從外面?zhèn)鬟M(jìn)來的。
所以UserService需要new一個(gè),而User并不需。
而Spring的注入機(jī)制其實(shí)就是代替了new的這個(gè)過程(稱為解耦),所以UserService需要注入,而User并不需要注入。

spring 管理的類都是單例吧,spring 管理model那不是所有的用戶共用一個(gè)User對(duì)象,登陸的時(shí)候存儲(chǔ)誰的呢?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,538評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,262評(píng)論 6 342
  • 1.什么是Spring框架? Spring是一個(gè)輕量級(jí)的java開源框架,為了解決企業(yè)級(jí)應(yīng)用開發(fā)的復(fù)雜性創(chuàng)建的ja...
    gskobe0811閱讀 567評(píng)論 0 3
  • 每個(gè)學(xué)校的教學(xué)樓啊,廁所啊,宿舍啊還有圖書館都發(fā)生過詭異的事,總有這樣的傳說。 今日小酷推薦一本壓箱好書《死亡高校...
    酷聽聽書閱讀 569評(píng)論 0 1
  • 清晨,在公交上讀慶山的微博,翻著翻著,突然萌生一種感恩之心。 每天,被生活的內(nèi)容捆綁著,為謀生上班、下班;為前程消...
    Silvie閱讀 389評(píng)論 0 0

友情鏈接更多精彩內(nèi)容