1、開發環境搭建
- JDK版本:Oracle JDK 1.8+
- 構建工具:Apache Maven 3.3.0+ (bin.zip)
- 開發工具:IntelliJ IDEA 2017.2.6
2、創建spring-boot工程
- 使用idea創建新project:File->New->Project
- 填寫項目基本信息:
- 選擇maven依賴:本示例創建web項目,后期需要其他依賴再手動添加
-
使用默認項目名稱,完成項目創建
完成創建.png
3、項目說明
- 目錄結構
目錄結構遵循maven的一般目錄結構,java中為代碼;resources中為資源,包括應用配置及頁面等靜態資源等;
- pom說明
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springboot.demo</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>test</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
(1)、parent標簽,指明SpringBoot版本為2.0.6.RELEASE。
(2)、starter-web依賴spring-boot-starter-web,它內置了tomcat容器。
(3)、maven打包插件依賴,spring-boot-maven-plugin。
- 啟動主類
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args)
}
}
通過運行主類的main方法運行整個項目。
4、配置thymeleaf模板引擎
spring-boot支持如下模板引擎:
- FreeMarker
- Groovy
- Thymeleaf(官方推薦)
- Mustache
本環境以Thymeleaf為列進行web環境搭建。
- maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
可以查看依賴關系,發現spring-boot-starter-thymeleaf下面已經包括了spring-boot-starter-web,所以可以把spring-boot-starter-web的依賴去掉.
- 視圖解析器配置
spring-boot很多配置都有默認配置,比如默認頁面映射路徑為classpath:/templates/*.html,同樣靜態文件路徑為classpath:/static/,在application.properties中可以配置thymeleaf模板解析器屬性。
#thymelea模板配置
spring.thymeleaf.prefix=classpath:/views/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
具體可以配置的參數可以查看 org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties這個類,上面的配置實際上就是注入到該類中的屬性值。
- 編寫控制器
@Controller
@RequestMapping("/")
public class TestController {
@RequestMapping("")
public String index(){
return "/index.html";
}
}
- 前端頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>歡迎</title>
</head>
<body>
<h4>歡迎使用spring-boot!</h4>
</body>
</html>
- 運行效果
spring-boot默認web端口為8080,效果如下:
5、完整項目
完整目錄結構:
相關閱讀:
spring-boot配置詳解【http://www.lxweimin.com/p/1d037ab638ef】
spring-boot+druid+mybatis環境搭建【http://www.lxweimin.com/p/e6c9e9945e45】
spring-boot+logback+log4j2+MDC【http://www.lxweimin.com/p/51da61a425ba】