官术网_书友最值得收藏!

2.2 Spring Boot的設計理念

Spring Boot的設計者在設計之初就一直奉行一個原則:約定大于配置(Convention Over Configuration),但作為Spring Boot的用戶,應當如何理解這項原則?究其根源,Spring Boot的開發者在研究了大量Spring應用之后,得出一個驚人的結論:大部分Spring項目的配置都是非常相似的,利用這種相似性,Spring Boot的設計者從中總結出規律并將其定義為Spring應用的默認配置,將其固化在Spring Boot框架中,再利用自動配置(Auto Configuration)技術將默認配置注入應用。

這種設計理念,對于剛開始接觸Spring Boot的開發者會略有不適,更有甚者,在第一次運行Spring Boot項目時,完全無法理解其工作原理。可是一旦明白了“約定大于配置”的設計理念,就會理解其工作原理。

我們以Hibernate為例,如果某個Spring Boot應用采用Hibernate框架作為數據訪問層,那么在項目啟動階段,Spring Boot框架一旦掃描到該項目的classpath中包含Hibernate相關的類,就會自動將Hibernate相關的配置加載到Spring容器中,進而應用可以使用Hibernate來操作數據庫。作為對比,在傳統的Spring項目中,無論是使用XML還是以Bean的形式定義,Hibernate都必須逐一進行顯式配置,否則該項目是無法使用Hibernate的(準確來說是無法啟動的)。

再舉一個簡單的例子,如果我們要在傳統的Hibernate配置中配置數據庫連接池,那么我們必須在xml文件中顯式定義連接池,而Spring Boot應用會為Hibernate自動配置一個HikariCP連接池(從Spring Boot 2.*之后)。

盡管Spring Boot大大減少了項目的配置工作,但作為開發者不要輕易被表象所迷惑,了解Spring Boot背后的工作原理才是正確的學習方向。

主站蜘蛛池模板: 客服| 遂平县| 来安县| 民和| 册亨县| 双鸭山市| 东山县| 英德市| 原阳县| 神木县| 莆田市| 浑源县| 区。| 大邑县| 乌鲁木齐市| 搜索| 大关县| 彰武县| 彝良县| 绿春县| 汾阳市| 嘉禾县| 旬阳县| 宝山区| 阿瓦提县| 黄山市| 荃湾区| 同德县| 聂拉木县| 临西县| 毕节市| 昌黎县| 彭山县| 玛纳斯县| 宁南县| 陇西县| 扬中市| 灵石县| 拜泉县| 南陵县| 通城县|