SpringBoot簡化Spring項(xiàng)目的創(chuàng)建、運(yùn)行、調(diào)試、部署過程,它提供了Spring開發(fā)過程的依賴打包,并按照習(xí)慣大于約定解決了配置問題。默認(rèn)使用tomcat服務(wù)器, 日志使用logback,構(gòu)建支持maven與gradle,我們只需關(guān)注開發(fā),而不用太關(guān)注xml配置。
下面我們一步一步開始搭建項(xiàng)目
1:File-new-Project創(chuàng)建springboot項(xiàng)目





2:創(chuàng)建webapp/WEB-INF/jsp/index.jsp 目錄與文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>duck首頁</h1>
${message}
<br><br>
取配置文件參數(shù)
${hello}
</body>
</html>
3:創(chuàng)建第一個(gè)Controller類
package com.duck.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
//會(huì)返回jsp界面
@Controller
//RestController是Controller 與 ResponseBody的合體,返回的是json字符串
//@RestController
public class DuckController {
private static final Logger logger = LoggerFactory.getLogger(DuckController.class);
//取配置文件配置的參數(shù)(如果配置文件沒有配置appplication.hello 那就取冒號(hào)后的值)
@Value("${application.hello:配置是空取我}")
private String hello = "";
@RequestMapping("/index")
public String index(Map<String, Object> model){
logger.info("index方法");
model.put("hello",hello);
model.put("message","SpringBoot項(xiàng)目的首頁");
//返回字符串,框架會(huì)默認(rèn)去目錄spring.mvc.view.prefix定義的文件夾下找(字符串+spring,mvc.view.suffix)的jsp文件
return "index";
}
}
4:設(shè)置application.properties訪問資源路徑

5:還需配置項(xiàng)目
file -> project structure

選擇web

分別配置Deployment Descriptors和Web Resource Directories



6:pom設(shè)置
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<!-- 父類,定義了所依賴的包,父類pom中用dependenceManagement定義的包,如果子工程想引用,必須用在子工程中定義,
可以不帶版本號(hào),用父類的dependence顯示指定 -->
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.18.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.duck</groupId>
<artifactId>duck-admin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>duck-admin</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- web啟動(dòng)器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--test啟動(dòng)器,這是真正的啟動(dòng)類,@SpringBootApplication由此啟動(dòng)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- servlet依賴包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- springboot支持jsp -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
7:啟動(dòng)類
package com.duck;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = {"com.duck"},exclude={})
public class DuckAdminApplication {
public static void main(String[] args) {
SpringApplication.run(DuckAdminApplication.class, args);
}
}
8:訪問首頁

SpringBoot啟動(dòng)三部曲:配置pom 配置啟動(dòng)類 添加Controller
SpringBoot訪問jsp三部曲:添加pom依賴 Controller配置@Controller 配置application的jsp訪問路徑
SpringBoot默認(rèn)支持freemarker,如果需要freemarker
(1)Controller添加方法
@RequestMapping("/freemarker")
public String freemarker(Map<String,Object> model){
logger.info("freemarker方法");
model.put("message","freemarker首頁");
return "freemarker";
}
(2)application.properties去除jsp配置
#頁面配置
#spring.mvc.view.prefix=/WEB-INF/jsp/
#spring.mvc.view.suffix=.jsp
#配置Controller參數(shù)
application.hello=Hello SpringBoot
(3)添加ftl模板 默認(rèn)路徑 /resources/templates/

(4)添加pom支持
<!-- 引入freeMarker的依賴包. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
(5)訪問freemarker
