- 微服務從小白到專家:Spring Cloud和Kubernetes實戰
- 姚秋辰 張昕 卿睿
- 564字
- 2021-10-29 12:24:23
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背后的工作原理才是正確的學習方向。
- jQuery Mobile Web Development Essentials(Third Edition)
- Learning C++ Functional Programming
- 程序員數學:用Python學透線性代數和微積分
- Practical DevOps
- Java性能權威指南(第2版)
- STM32F0實戰:基于HAL庫開發
- 編程菜鳥學Python數據分析
- Solr Cookbook(Third Edition)
- 打開Go語言之門:入門、實戰與進階
- Creating Data Stories with Tableau Public
- 小程序從0到1:微信全棧工程師一本通
- ASP.NET求職寶典
- 算法精解:C語言描述
- Building UIs with Wijmo
- Kohana 3.0 Beginner's Guide