spring為什么注入的是接口 Service層和Dao層真的有必要每個(gè)類都加上接口嗎?
Service層和Dao層真的有必要每個(gè)類都加上接口嗎?簡單來說就是看情況。主要看你項(xiàng)目:變動(dòng)情況以及架構(gòu)人員項(xiàng)目情況比如,項(xiàng)目原來使用的hibernate,后續(xù)可能要切換為mybatis,那么dao
Service層和Dao層真的有必要每個(gè)類都加上接口嗎?
簡單來說就是看情況。
主要看你項(xiàng)目:
- 變動(dòng)情況
- 以及架構(gòu)
- 人員
- 項(xiàng)目情況
比如,項(xiàng)目原來使用的hibernate,后續(xù)可能要切換為mybatis,那么dao就需要使用接口。這就不會影響上層代碼的修改。
再比如,項(xiàng)目是個(gè)單體應(yīng)用,任何代碼的修改都需要重新編譯整個(gè)項(xiàng)目,那可以不用接口。而如果項(xiàng)目是分模塊編譯部署的,那就可以使用接口解耦,假設(shè)dao有修改,只需要重新編譯部署dao模塊即可,不影響上層模塊。
再來,如果項(xiàng)目組新手較多,可能簡單的代碼結(jié)構(gòu)更適合。復(fù)雜項(xiàng)目結(jié)構(gòu)的學(xué)習(xí)成本要高。
假如,項(xiàng)目進(jìn)度很急,可以使用簡單粗暴的方式先擼~
可以用經(jīng)濟(jì)學(xué)上的成本來解釋原因。
經(jīng)濟(jì)學(xué)上的成本定義是:你做一件事,所放棄的其它事情中,價(jià)值最大的那件事的價(jià)值就是你做這件事的成本。
你使用接口的成本就是你不使用接口所花費(fèi)的成本(包括后續(xù)的維護(hù)成本)。
如果項(xiàng)目變動(dòng)多、模塊部署、項(xiàng)目不急,那使用接口的成本就低于不使用接口的成本,雖然早期可能不用接口看起來更簡單;反之,則不用接口的成本低,甚至框架都可以不使用~
畢竟工具是為了提高效率的,何必和自己過不去呢!
做測試開發(fā)都需要學(xué)習(xí)哪些技術(shù)?
1.測試流程概念:
2.需求分析技能:
3.用例編寫技能:
4.代碼編寫技能:
自動(dòng)化測試開發(fā)的前提,Python Java任選其一學(xué)習(xí)即可
5.環(huán)境搭建工具:
把軟件裝到硬件環(huán)境中,Linux xshell xftp mysql navcat等
6.測試開發(fā)技能:
實(shí)現(xiàn)界面接口等自動(dòng)化,Selenium Appium Jmeter Postman Fiddler等
希望我的回答可以幫助到你,有任何測試開發(fā)方面的問題都?xì)g迎來私信了解哦~
spring cloud如何使用spring-test進(jìn)行單元測試?
Spring boot內(nèi)置tomcat和jetty組件,只要使用啟動(dòng)類注解定義好main函數(shù)即可,對于進(jìn)行單元測試,只要使用@SpringBootTest注解,并制定啟動(dòng)類,其他的類注入,配置文件讀取等操作,都有框架來完成,大大簡化了單元測試工作量和復(fù)雜度。