1. 程式人生 > >Spring Boot(Spring的自動整合框架)

Spring Boot(Spring的自動整合框架)

Spring Boot 是一套基於Spring框架的微服務框架,由於Spring是一個輕量級的企業開發框架,主要功能就是用於整合和管理其他框架,想法是將平時主流使用到的框架的整合配置預先寫好,然後通過簡單的及格引數就可以實現框架的快速整合,大大減少了Spring與其他框架整合的程式碼,也實現了Spring開發的Web應用的快速部署(jar釋出web應用)。

  那麼為什麼我們要使用Spring Boot,Spring Boot最重要的功能是:自動配置

  自動配置又是什麼?

  Spring Boot的開啟註解是:@SpringBootApplication,其實就是由下面三個註解組成的:

  • @Configuration
  • @ComponentScan
  • @EnableAutoConfigruation

  上面的三個註解,前面兩個都是Spring自帶的,與Spring Boot無關,所以往細點的說Spring Boot最核心的就是這個@EnableAutoConfigruation 註解了,它能根據類路徑下的jar包和配置動態載入配置和注入bean。

  舉個例子,比如我在 lib 下放一個 druid 連線池的 jar 包,然後在 application.yml 檔案配置 druid 相關的引數,Spring Boot 就能夠自動配置所有我們需要的東西,如果我把 jar 包拿掉或者把引數去掉,那 Spring Boot 就不會自動配置。

  這樣我們就能把許多功能做成公共的自動配置的啟動器(starters),其實 druid 連線池就是這麼做的,它提供了針對 Spring Boot 的啟動器:druid-spring-boot-starter。

  有了這個自動配置的啟動器,我們就能非常簡單的使用它,

  先新增 jar 包依賴:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.4</version>
</dependency>

  再新增相關引數:

#配置一個數據源
#資料來源的配置
spring.datasource.driver-class-name=org.gjt.mm.mysql.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_rbac
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource

   如果是傳統的專案,我們要自己手動寫一大堆的配置,而且還不靈活,有了這個啟動器,我們就可以做到簡單整合。具體大家可以看 druid-spring-boot-starter 是怎麼實現的。

  所以,這才是 Spring Boot 的核心,這才是我們為什麼使用 Spring Boot 的原因。如果答不到這個關鍵點,那真沒有掌握到 Spring Bo