Spring Boot 源碼分析 數據源 + Mybatis 配置

公司今年開始使用 Spring Boot 開發,固然使用 Spring Boot 也是大勢所趨,尤爲是如今微服務的趨向,固然是選擇基於Spring Boot 的 Spring Cloud。(所謂的 Spring 全家桶,哈哈哈)mysql

一日,閒來無事,都說 Spring Boot 習慣優於配置,可是這習慣它到底在哪裏配置實現了。ajax

好奇心的驅使下,我偷偷翻看了 Spring Boot 下 數據源和Mybatis 的配置,咱們在用的時候都是在 application.yml 和 application.properties 按規定寫下配置值就能夠直接使用。spring

application.yml 配置數據源sql

spring:
    datasource:  type: com.zaxxer.hikari.HikariDataSource
            url: jdbc:mysql://10.0.**.*:3306/db?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
            password: root
            username: root
            driver-class-name: com.mysql.jdbc.Driver
            minimum-idle: 5
            maximum-pool-size: 20
            idle-timeout: 600000
            connection-timeout: 30000
            max-lifetime: 1800000

application.properties 配置mybatisspringboot

# Mybatis
mybatis.mapperLocations=classpath:mapper/*.xml
mybatis.configLocation=classpath:mybatis.xml

可是有沒有想過這樣子寫下來爲何就OK了,咱們並無在咱們的代碼裏面去引用加載這些配置啊。假如改了其餘名字能夠不?,答案是:NO網絡

不捉急,先上兩張圖過過癮mybatis



看到了吧,兩個jarapp

spring-boot-autoconfigure-1.5.4.RELEASE.jaride

mybatis-spring-boot-autoconfigure-1.3.0.jarspring-boot

這兩個jar是Spring boot項目引入的,兩個自動注入配置 jar,這兩個jar裏面的 DataSourceProperties ,MybatisProperties就是專門注入數據源,mybatis配置的,配置名稱對應類裏面的成員變量名稱,經過set方法注入。

這下可明白了吧,Spring Boot 就是把 Spring裏面習慣配置的東西封裝起來減小配置,達到新建項目便可使用的效果。

對於 Spring Boot 還不是很熟的盆友能夠看下這篇網絡文章:Spring Boot乾貨系列-配置文件解析

題外話:Nginx配置的坑


location 後面的節點 /ajax/ 若是有 斜槓:/ 結尾

則反向代理地址 proxy_pass 後面也必須加斜槓:/ 結尾

關注公衆號,分享乾貨,討論技術

相關文章
相關標籤/搜索