1.介绍
Spring Boot正是在Spirng配置文件日益臃肿和繁琐下被抽象出来的开发框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序,按照“约定配置”的方式省略一些不必要的配置。
2.demo
首先我们新建一个Java Maven项目:
配置pom.xml,parent信息配置成spring-boot-starter-parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
引入spring-boot-starter-web的jar包
包含了Spring Boot预定义的一些Web开发的常用依赖:
spring-web, spring-webmvc Spring WebMvc框架
tomcat-embed-* 内嵌Tomcat容器
jackson 处理json数据
spring-* Spring框架
spring-boot-autoconfigure Spring Boot提供的自动配置功能
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
新建Application启动类:
@SpringBootApplication注解标明这是一个Spring Boot的启动类,它会初始化配置信息,并启动Spring Boot自带的tomcat容器(若不配置,默认端口为8080)。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* spring-boot启动入口
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
新建一个Controller类,通过@Controller注解标明这是一个controller组件,
@RequestMapping指定访问url
@Controller
public class LoginController {
@RequestMapping("/login")
public String login() {
return "index";
}
新建index.html页面
启动Application.java类型,启动Spring Boot项目,通过http://localhost:8080/index访问页面,即搭建成功一个Spring Boot的web项目
3.配置
Spring Boot最大的特色是“约定优先配置”,大量的默认配置对开发者十分的友好。但是在实际的应用开发过程中,默认配置不可能满足所有场景,同时用户也需要配置一些必须的配置项——例如数据库连接信息。Spring Boot的配置系统能够让开发者快速的覆盖默认约定,同时支持Properties配置文件和YAML配置文件两种格式,默认情况下Spring Boot加载类路径上的application.properties或application.yml文件:
如下图application.yml配置文件。是最终一个完整的springBoot+Mybatis的配置。
# 项目名称
name: springBoot
# 指定端口号
server:
port: 8080
spring:
# 配置数据库连接信息
datasource:
name: test
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8
username: root
password: 666666
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
# 配置mybatis路径信息
mybatis:
mapperLocations: classpath:mapper/*.xml
typeAliasesPackage: org.tanzc
typeAliasesSuperType: org.tanzc.sys.entity.BaseEntity