SpringBoot是否難用,取決于你對他的設(shè)計理念的了解,用對了好用,用錯了麻煩。
SpringBoot有兩個主要特定:
一是套餐模式,比如開發(fā)web,不要去一個一個找依賴,而是直接來個spring-boot-starter-web,這個starter-web套餐含tomcat/spring mvc附贈一系列filter,如果你想用redis,也別找依賴,先上個spring-boot-starter-data-redis套餐。有些開發(fā)有潔癖,他就覺得starter-data-redis引入的東西太多而自己只想手動把玩redis怎么辦?看starter-redis的依賴,把io.lettuce:lettuce-core挑出來單點就行。
點餐要點:
在點餐前先記住總是點一個spring-boot-starter-parent,這個套餐其實沒點任何東西,但你只需要指定一個spring-boot的版本號,就把其他套餐和單點時的版本號全部確定了,這樣,后續(xù)點套餐和單點的時候,能不寫版本號盡量不要寫版本號,因為默認版本只要夠用,它們沖突的概率就極低。
點餐時優(yōu)先點默認套餐,即配的可口可樂只要不是特別難喝就別換百事。比如默認redis驅(qū)動用的lettuce,就別瞎換jedis,因為換了你還得自己測,默認hikaricp連接池就別換durid,這玩意性能差異對絕大部分應(yīng)用程序根本無感,換了就得改配置,改配置不麻煩嗎?所以口味盡量大眾化,別玩小資。
二是自動配置,也就是一看你點的單人餐,自動給安排單座,雙人餐自動給安排靠窗,小孩餐自動給安排游樂場邊上,這個叫autoconfiguration,由各種Conditaional來決定。
比如點了starter-web的時候,因為大部分web都會操作數(shù)據(jù)庫,所以默認給一個datasource,一個jdbctemplate,一個tx-manager,這樣你就不用配任何數(shù)據(jù)庫相關(guān)的bean。如果你沒用到j(luò)dbc-template,也別管他,浪費一點就浪費一點吧,因為要排除它反而比較麻煩。





暫無評論,快來評論吧!