spring boot入门(一) - Hello World
本文是spring boot的新手入门教程(一),目标是能让人快速简单上手和了解服务端的简单Web开发。
通过本文,可以学习使用IDEA构建一个Spring boot应用,实现经典的”Hello World!”
参考资料:
前置条件
安装Java开发套件JDK
- 使用AdoptOpenJDK:Spring推荐
- 使用Oracle JDK:
2019年4月16日当天,Oracle发布了Oracle JDK的8u211和8u212两个版本(属于JDK8系列),并从这两个版本开始将JDK的授权许可从BCL换成了OTN!也就是从这两个版本开始商用收费了!
所以Oracle JDK的最后两个免费版本号为8u201和8u202,并且一般情况下,我们通常使用奇数版本,即8u201(官方下载地址)。
奇数偶数版本差异说明见:官方奇偶数版本说明 - 阿里巴巴Dragonwell
- 亚马逊corretto
- 华为毕昇JDK
安装集成开发环境
- IntelliJ IDEA:选择下载IntelliJ IDEA Community Edition
- Eclipse:选择下载Eclipse IDE for Enterprise Java Developers
JDK安装
- 下载JDK 8u201
- 安装JDK
- 环境变量配置
- 新增环境变量
JAVA_HOME
,值为上面安装的JDK所在目录,例如我的:D:\Program Files\Java\jdk1.8.0_201
- 新增环境变量
CLASSPATH
,值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
- 在系统变量中找到名为
PATH
的变量编辑,在后面新增%JAVA_HOME%\bin;
,(注意原来Path的变量值末尾有没有;
号,如果没有,先输入;
号再输入上面的代码)。
- 新增环境变量
- 测试是否安装成功
- 打开cmd命令框,输入
java -version
指令,回车运行,正确提示版本等信息,则说明环境配置正确。
- 打开cmd命令框,输入
IDEA安装
- 下载并安装IntelliJ IDEA Community Edition
- 打开IDEA,安装插件
spring assistant
Spring Boot快速开始
本章节实现一个应用,浏览器请求本地URL:http://localhost:8080/hello
,
返回
1
Hello World!
- 新建工程,选择
spring assistant
,下一步 - 默认属性中,修改Java version, 选择
8
,我们当前生产环境使用的jdk版本,下一步 - 选择类型
WEB-->Spring Web
- 在包
com.example.demo.controller
下创建类HelloController
类代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
public class HelloController {
public String hello( { String name)
return String.format("Hello %s!", name);
}
} - 刷新maven依赖
- Debug调试运行应用,注意看控制台输出日志,为tomcat容器启动,默认端口号8080
- 启动好后,本地浏览器访问URL:
http://localhost:8080/hello
创建一个RESTFUL请求
本章节实现一个GET请求,浏览器请求本地URL:http://localhost:8080/greeting
,
返回一个json对象
1
{"id":1,"content":"Hello, World!"}
你可以定制name
参数,使得返回内容根据name
变化,例如,请求URL:http://localhost:8080/greeting?name=User
,
返回一个json对象
1
{"id":1,"content":"Hello, User!"}
- 停止前面启动的应用
- 在包
com.example.demo.model
下,新建一个Java Bean对象Greeting
类代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20package com.example.demo.model;
public class Greeting {
private final long id;
private final String content;
public Greeting(long id, String content) {
this.id = id;
this.content = content;
}
public long getId() {
return id;
}
public String getContent() {
return content;
}
} - 修改前面的Controller类
HelloController
,新增响应/greeting
请求
修改后类代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24package com.example.demo.controller;
import com.example.demo.model.Greeting;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.concurrent.atomic.AtomicLong;
public class HelloController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
public String hello( { String name)
return String.format("Hello %s!", name);
}
public Greeting greeting( { String name)
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
} - 重启启动应用调试,如上一章节的6,7
- 本地浏览器访问URL:
http://localhost:8080/greeting?name=Linyuliang
,每次访问id
返回递增,content
内容根据传入的name参数变更
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 林玉良的博客!
评论