SpringAll开源教程
github开源教程:https://github.com/wuyouzhuguli/SpringAll
Spring Boot
开启Spring Boot
在https://start.spring.io/页面可以填写一个表格,来生成maven文件包,然后下载,在eclipse中选择import maven项目时将该包添加到maven项目中。这个一个简单的spring boot helloworld程序。

1  | // DemoApplication.java  | 
Spring Boot基础配置
全局配置文件
在src/main/resources目录下,Spring Boot提供了一个名为application.properties的全局配置文件,可对一些默认配置的配置值进行修改。
自定义属性值

Spring Boot允许我们在application.properties下自定义一些属性,比如:
1  | mrbird.blog.name=mrbird's blog  | 
定义一个BlogProperties Bean,通过@Value("${属性名}")来加载配置文件中的属性值:
1  | package com.springboot.demo;  | 
编写IndexController,注入该Bean:
1  | package com.springboot.demo;  | 
@Autowired标注会帮助我们的变量与配置文件中的内容进行自动匹配。
修改DemoApplication.java:
1  | package com.springboot.demo;  | 
在属性非常多的情况下,可以这样
1  | // BlogProperties.java  | 
通过注解@ConfigurationProperties(prefix="mrbird.blog")指明了属性的通用前缀,通用前缀加属性名和配置文件的属性名一一对应。
除此之外还需在Spring Boot入口类加上注解@EnableConfigurationProperties({ConfigBean.class})来启用该配置:
1  | package com.springboot.demo;  | 
属性间的引用
1  | mrbird.blog.name=mrbird's blog  | 
自定义配置文件
可以在/src/main/resources目录下新建一个自定义配置文件test.properties
1  | test.name=zhou  | 
定义一个对应该配置文件的Bean:
1  | package com.springboot.demo;  | 
在入口类中使用注解@EnableConfigurationProperties({TestConfigBean.class});同样地,也要改一下IndexController.java文件;TestConfigBean.java文件中没有import相应的包,eclipse会有提示应该import什么包。
通过命令行设置属性值
运行Spring Boot jar文件时,可以使用命令java -jar xxx.jar --server.port=8081来改变端口的值。这条命令等价于我们手动到application.properties中修改(如果没有这条属性的话就添加)server.port属性的值为8081。
Spring Boot中使用Mybatis
引入mybatis-spring-boot-starter和数据库连接驱动(这里使用关系型数据库Oracle 11g)
mybatis-spring-boot-starter
在pom中引入
1  | <dependency>  | 
注意:version不能写2.2,否则会报:missing artifact
不同版本的Spring Boot和MyBatis版本对应不一样,具体可查看官方文档:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/。
通过点击Dependency Hierarchy来查看依赖关系:

引入ojdbc6
我们需要使用mvn命令将ojdbc6.jar依赖安装到本地maven仓库,然后才可以在pom中配置。
ojdbc6.jar的直接下载地址:https://files.cnblogs.com/files/luohaonan/ojdbc6.zip
解压到D盘根目录中后,执行:
1  | mvn install:install-file -Dfile=D:/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=6.0 -Dpackaging=jar -DgeneratePom=true  | 
输出为:
1  | [INFO] Scanning for projects...  | 
接着在pom中引入:
1  | <dependency>  | 
Druid数据源
Druid是一个关系型数据库连接池,是阿里巴巴的一个开源项目,地址:https://github.com/alibaba/druid。Druid不但提供连接池的功能,还提供监控功能,可以实时查看数据库连接池和SQL查询的工作情况。
加入pom依赖
1  | <dependency>  | 
引入mysql驱动
加入pom依赖
1  | <dependency>  | 
代码架构

application.java
1  | package com.springboot;  | 
TestController.java
1  | package com.springboot.controller;  | 
Student.java
1  | package com.springboot.bean;  | 
StudentMapper.java
1  | package com.springboot.mapper;  | 
StudentService.java
1  | package com.springboot.service;  | 
StudentServiceImp.java
1  | package com.springboot.service.impl;  | 
在test数据库中写如下SQL
1  | CREATE TABLE student(  | 
application.yml
1  | server:  | 
- mysql驱动,所以
spring.datasource.druid.driver-class-name是com.mysql.cj.jdbc.Driver; - mysql要启动在3306端口,并创建test数据库,
spring.datasource.druid.url是jdbc:mysql://localhost:3306/test - 通过
server.servlet.context-path改变服务器网址的根路径,比如我这里改成了/web。 
运行
运行http://localhost:8080/web/querystudent?sno=001

这里也出现过白页,是因为这个网址是访问public Student queryStudentBySno(String sno)函数的,但是在定义Student类的时候没有设置set和get。
运行http://localhost:8080/web/druid

刚开始运行这里出现白页,是因为application.yml中context-path的配置搞错了,它的键是server.servlet.context-path而不是server.context-path。
引用
Spring官网:https://spring.io/
Spring Initializer: https://start.spring.io/
github开源教程:https://github.com/wuyouzhuguli/SpringAll
不同版本的Spring Boot和MyBatis版本对应不一样,具体可查看官方文档:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/