公司今年开始使用 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 后面也必须加斜杠:/ 结尾