controller、service、dao調用關系


來源:(https://blog.csdn.net/qq_41026669/article/details/107479927)
初做java項目前,了解一下各package下類的調用關系還是很有必要的

1:controller是為前端提供的訪問入口,不用關心具體的業務邏輯。具體的業務邏輯放在了serviceImpl里,controller只需調用它封裝好的方法即可。你可能會問:直接@Resource一個serviceImpl類不行嗎,為什么要加個service。當然可以這么做,但用接口可以重寫方法,更利於擴展。一般要求要有service的,咱不是要面向接口的編程嘛,最好還是加上吧。

2:service提供業務邏輯要用到的方法,serviceImpl提供方法的具體實現,@Service的a和controller里@Resource下的a要保持一致,否則controller找不到a。出現下面的標志說明沒寫錯,其他類間的調用也會有類似的標志,可以通過這個提示更快的排錯

3:dao為serviceImpl提供操作數據的方法,但方法的具體實現(也就是SQL語句)放在了mapper下的xml文件里,serviceImpl除了復雜它們間的邏輯關系,還可以對目標數據進行一些操作,比如不用從前端獲取的數據可以在serviceImpl里賦值,調試后端代碼時可以在這里給假數據,測方法有沒有問題。同樣,serviceImpl下的b和dao中的b也要保持一致,否則會找不到類。

4:mapper相當於dao的實現類,它下面是xml格式文件,xml里是SQL語句。示例:

寫的方式和用到的注解不只這一種方式,我展示的是我項目中用的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM