1.环境信息
MyEclipse2015,jdk1.8,tomcat8
2.新建maven项目
2.1 新建一个web项目
2.2 生成的项目结构如下
3.配置pom.xml文件
3.1 pom.xml完整信息
<?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.qfx</groupId>
<artifactId>springbootDemo01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>springbootDemo01</name>
<description>这里填写描述信息</description>
<!-- 设置父类,整合第三方常用框架依赖信息(各种依赖信息) -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.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>
<!-- Maven install 时,测试环境@Test中如果有中文输出是乱码,加上这句话试试 -->
<argLine>-Dfile.encoding=UTF-8</argLine>
<!-- Maven编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<!-- jdk版本 -->
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 引入springboot核心包,整合SpringMVC Web组件 -->
<!-- 实现原理:Maven依赖继承关系,相当于把第三方常用Maven依赖信息,在parent项目中已经封装好了 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 1. 引入springboot测试包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 2. springboot外部tomcat支持,用于编译jsp -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- 3. 打war包时加入此项, 告诉spring-boot tomcat相关jar包用外部的,不要打进去 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- ↓↓↓↓↓↓如果没有jsp页面则无需引入4和5↓↓↓↓↓↓ -->
<!-- 4. 引入jsp的支持(最好同时引入jstl包,否则jsp页面使用jstl标签会报错) -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- 5. 引入jsp页面的Jstl标签支持(4和5最好一起引入) -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- ↑↑↑↑↑↑如果没有jsp页面则无需引入4和5↑↑↑↑↑↑ -->
</dependencies>
<build>
<!-- 指定war包名称,以项目名为准,否则会带上版本号 -->
<finalName>${project.name}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<!-- spring热部署 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.8.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
3.2 修改完毕,如果你的项目名上出现一个红色的小叉号
请按照下图进行操作即可
4.创建springboot启动类DemoApp.java
不要把启动类放置在默认的package下面,一定要建立一个自己的package,否则启动会报异常: class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfigurerAdapter.class] cannot be opened because it does not exist
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* <h5>描述:添加外部tomcat支持,需要继承SpringBootServletInitializer,并重写configure方法</h5>
*
*/
@SpringBootApplication
public class DemoApp extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApp.class);
}
public static void main(String[] args) {
// 整个程序入口,启动springboot项目,创建内置tomcat服务器,使用tomct加载springmvc注解启动类
SpringApplication.run(DemoApp.class, args);
}
}
5.创建一个Conttoller
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@RequestMapping("getUser")
public String getUser(){
return "张三";
}
}
6.编译项目
7.启动springboot,执行DemoApp类的main方法
8.测试访问:http://127.0.0.1:8080/getUser
使用springboot内置tomcat启动,默认省略项目名,端口默认8080,访问结果如下图,表示启动成功