公司今年開始使用 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 後面也必須加斜槓:/ 結尾