一、开发环境和工具
工欲善其事必先利其器,好的工具能事半功倍。
1.1 开发环境
虽然现在Java JDK版本已经到16了,但是JDK8依然是使用最多的,最稳定的且长期维护的版本,建议使用JDK8。
JDK8下载链接 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html (需要注册Oracle账号才能下载。)
Java JDK环境变量配置建议在网上搜一下,也很简单。
1.2 开发工具
强烈建议使用IDEA,比Eclipse好用很多。如果是Eclipse过来的可能刚开始不适应,但是经过几天的磨合你会喜欢上它的。
IntelliJ IDEA 下载链接 https://www.jetbrains.com/idea/
1.3 接口调试工具
接口调试工具用Postman,也是毋庸置疑的。
Postman 下载链接 https://www.postman.com/downloads/
二、创建项目
用IDEA创建SpringBoot项目
打开IDEA,点击创建新的项目
创建Spring项目,如果默认的url太慢,可以用阿里云的 https://start.aliyun.com
填写工程信息
Group:一般是公司域名反过来,Artifact:项目名称 Type: Maven 然后Java版本为8
这一步主要注意一下SpringBoot的版本,然后点击下一步即可
创建项目成功
三、修改配置,运行项目
删除src目录下的test目录,这个是测试用的,暂且删除。
3.1 pom.xml
pom.xml文件在项目根目录下,Maven项目的包依赖管理文件,项目需要哪些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>
<groupId>com.llh</groupId>
<artifactId>spring-boot-demo1</artifactId>
<version>1.0.0</version>
<name>spring-boot-demo1</name>
<description>初识springboot</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
</dependency>
</dependencies>
</project>
3.2 项目配置文件 application.properties
废话:SpringBoot好用就在于“约定大于配置”,但还是需要配置,其实就是按照它规定好的来配置,大家约定俗成
application.properties 如下,主要就是加了端口号8080,不加默认也是8080
spring.application.name=spring-boot-demo1
server.port=8080
3.3 运行项目
四、编写接口
4.1 get请求
get请求有两种传参方式
/**
* get请求 http://localhost:8080/test1/admin
* 带参数 插值的方式
*/
@GetMapping("/test1/{name}")
public String test1(@PathVariable("name") String name) {
return name;
}
/**
* get请求 http://localhost:8080/test2?name=admin
* 带参数 传统方式
*/
@GetMapping("/test2")
public String test2(@RequestParam("name") String name) {
return name;
}
4.2 post请求
post请求直接写一个类对象作为接收对象
/**
* post请求 localhost:8080/test3
* 参数为Json格式
* {
* "username":"admin",
* "password":"123456"
* }
*/
@PostMapping("/test3")
public String test3(@RequestBody UserInfo userInfo) {
return userInfo.toString();
}
是不是很简单
HelloController类
package com.llh.springbootdemo1.controller;
import org.springframework.web.bind.annotation.*;
@RestController
public class HelloController {
/**
* get请求 http://localhost:8080/test0
* 不带参数
*/
@GetMapping("/test0")
public String test0() {
return "hello world";
}
/**
* get请求 http://localhost:8080/test1/admin
* 带参数 插值的方式
*/
@GetMapping("/test1/{name}")
public String test1(@PathVariable("name") String name) {
return name;
}
/**
* get请求 http://localhost:8080/test2?name=admin
* 带参数 传统方式
*/
@GetMapping("/test2")
public String test2(@RequestParam("name") String name) {
return name;
}
/**
* post请求 localhost:8080/test3
* 参数为Json格式
* {
* "username":"admin",
* "password":"123456"
* }
*/
@PostMapping("/test3")
public String test3(@RequestBody UserInfo userInfo) {
return userInfo.toString();
}
}
UserInfo类
package com.llh.springbootdemo1.controller;
public class UserInfo {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "UserInfo{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
4.3 测试接口
get请求可以直接在浏览器输入网址
post请求需要通过Postman工具,注意接口方式改为post,传入参数改为JOSN格式
五、结语
有三四年没有写博客了,一是因为没有时间,二是比较懒,三是当时能力不行。现在要重新写会博客,写博客一方面能分享技术,一方面自己也能有所提高。
这是第一篇博客,是SpringBoot最入门简单的博客,随后我们将进入SpringBoot的持久化框架 Mybatis,Mybatis-Plus,关系型数据库Mysql,内存数据库Redis、JWT等单体应用技术。 然后我们将学习Spring-Cloud-Alibaba微服务体系,包括服务注册中心和配置中心Nacos、服务调用OpenFeign、网关Gateway、限流降级Sentinel、消息队列RocketMQ、分布式事务Seata、分布式锁Redisson、分布式任务调度xxl-job等技术。同时我还将分享Nginx、Tomcat、Docker、Linux等技术。
并且我将写一些Vue、ElementUI、AntdDesign等前端技术以及Flutter等文章,文章希望先以使用为主,然后再说一些理论知识。
因为我个人的想法就是如果您是应用开发,一定要全栈。我个人的规划也是这样的,就是做个全栈工程师。之前很难做全栈,但是有了SpringBoot、有了Vue、有了Flutter这些好的框架工具。做全栈工程师是可以实现的。
最后的体系就是
后端:Spring-Boot Spring-Cloud-alibaba体系
网页端:Vue体系
APP端:Flutter体系
希望自己在写博客的这条路上能坚持!