文章目录
- 步骤
- 1、开发环境
- 2、新建工程
- 3、新建controller
- 4、开发环境试运行和测试
- 5、打包+运行命令
- 补充
步骤
1、开发环境
WIN10+IDEA2021+Maven3.6.3+JDK1.8
2、新建工程
选择Spring和Java版本
添加依赖
3、新建controller
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/war3")
public class HeroController {
@RequestMapping("/heroes")
public String getHeroes() {
System.out.println("Jaina Proudmoore\nArthas Menethil");
return "Jaina Proudmoore\nArthas Menethil";
}
}
- @RestController
相当于 @Controller + @ResponseBody,可用来返回JSON数据 - @RequestMapping
可添加在 控制类 或 方法 上,用于建立 请求URL 和 请求方法 之间的对应关系
value
指定请求URL;method
指定请求方式,默认GET
@RequestMapping(value="/a",method=RequestMethod.GET)
可简写为@RequestMapping("/a")
上面代码 类和方法 叠加URL为/war3/heroes
4、开发环境试运行和测试
点击绿色三角进行测试
浏览器访问
http://localhost:8080/war3/heroes
5、打包+运行命令
打包
在WIN10或CentOS7上的运行命令都如下
java -jar demo2-0.0.1-SNAPSHOT.jar
补充
新建工程后,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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo2</name>
<description>Demo project for Spring Boot</description>
<properties>
<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>
starter
SpringBoot中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的parent
所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
英 | 🔉 | 中 |
---|---|---|
starter | /ˈstɑːrtər/ | n. adj. (机器或引擎的)启动装置;发车信号;起步时使用的 |
artifact | /ˈɑːrtɪfækt/ | n. 历史文物;非自然存在物体;遗物 |
新建工程后,会自动创建@SpringBootApplication
,可以启动SpringBoot程序
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Demo2Application {
public static void main(String[] args) {
SpringApplication.run(Demo2Application.class, args);
}
}
- SpringBoot在创建项目时,采用jar的打包方式
- SpringBoot的引导类是项目的入口,运行main方法就可以启动项目
- 使用maven依赖管理变更起步依赖项
- Jetty比Tomcat更轻量,可扩展性更强;
谷歌应用引擎(GAE)已切换为Jetty
修改依赖可切换为Jetty,如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--web起步依赖环境中,排除Tomcat起步依赖-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加Jetty起步依赖,版本由SpringBoot的starter控制-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>